老师,这里不太明白这个函数节流的原理 ,var nowfloor = -1;

老师,这里不太明白这个函数节流的原理 ,var nowfloor = -1;

if (nowfloor != i) {

                console.log(i);

                nowfloor = i;

}

nowfloor !=i,预设,i有0 1 2 3 4 ,nowfloor,!=0 ,参考  0== 0 是true,那么 !=就是false,  是false, console.log(i);就不能输出了,

为什么这里还能起到函数节流的问题,

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2021-07-16 14:10:49

同学你好,问题解答如下:

1、nowfloor变量初始值为-1不是固定的,也可以换为其他值,但是不要和索引值0到4冲突即可,避免效果不对。

2、!=就是false,理解的不对,还是要看左右的值,例如

http://img1.sycdn.imooc.com//climg/60f121fc09d911bf01520099.jpg

两个不同数字判断不相等值为true,如果两个相同数字判断不相等值为false

所以当页面在同一楼层滚动时,i值与nowfloor值相等,那么if判断就会为false,不输出i值;当更换其它楼层时,i值初始与nowfloor值不相等,判断成立,就会输出一次i值。

节流的是在同一楼层滚动时,不进行样式设置,自己再理解下。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师