变量声明方式:let与var的区别

let 定义了之后,会检测重复,生命周期适用于当前和子级函数;
var 定义了之后,不会检测重复,生命周期仅仅适用于当前逻辑模块;


let

handleScroll: function(){
        let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop // 滚动条偏移量
        if (scrollTop>0&& scrollTop<=50) {//当window的scrolltop距离大于1时,go to top按钮淡出,反之淡入
          console.log(scrollTop);
          var scrollTop=scrollTop*3/500<0.1?'0':scrollTop*3/500;
          $(".van-nav-bar.bg-none").css({"background":"red!important"});
        } else {
          console.log('0');
        }
      }

变量声明方式:let与var的区别_第1张图片
变量声明方式:let与var的区别_第2张图片

var

handleScroll: function(){
        var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop // 滚动条偏移量
        if (scrollTop>0&& scrollTop<=50) {//当window的scrolltop距离大于1时,go to top按钮淡出,反之淡入
          console.log(scrollTop);
          var scrollTop=scrollTop*3/500<0.1?'0':scrollTop*3/500;
          $(".van-nav-bar.bg-none").css({"background":"red!important"});
        } else {
          console.log('0');
        }
      }

变量声明方式:let与var的区别_第3张图片


实际上述两种代码中,都重复对参数scrollTop进行了定义。但是let的定义导致报错,并直接导致项目不可执行。
这就是最明显的区别了。


【未完待续】

你可能感兴趣的:(JavaScript)