- 博客(2)
- 收藏
- 关注
原创 var 变量提升和let、const
然后再执行函数里面,第一个log此时是undefined//如果函数内部的var 变为let,则不会有这样的问题,let不能变量提升。在test()函数执行时,首先进行的是预编译,看到var b = 123;//这样时可以的,因为这里的abc是一个引用你类型,在修改name时并没有改变abc的引用地址。但是在for循环时,条件里面的变量和循环体中是两个不同的变量,即使都使用let,也依然不会报错。什么是var的变量提升,在js代码执行时,首先会预编译。在有形参时,用同名的变量也会报错。
2023-09-04 22:52:13
59
原创 防抖和节流
在timer定时器有值时,那我就不执行了,意思是他还是会执行之前定时器的代码func,等时间一到就执行。再次触发这个函数时,如果定时器的内容已执行完毕了,timer重新变空了,那再重新设一个定时器。在触发时timer有值的时候,清除定时器,这时不论怎样的情况timer都没有了,所以timer重新设置一个定时器,计时重新开始,直到到了n秒,然后执行func。原理:在外层函数中定义一个timer,内部函数可以访问外部函数的timer,timer就是一个定时器,用到了闭包的原理。节流:n秒内只执行一次。
2023-09-04 21:55:45
26
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人