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');
}
}
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');
}
}
实际上述两种代码中,都重复对参数scrollTop进行了定义。但是let的定义导致报错,并直接导致项目不可执行。
这就是最明显的区别了。
【未完待续】