什么是闭包? 有什么作用?
一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:
- 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。
- 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。
作用:可以通过闭包,让外部访问函数体内变量。
setTimeout 0 有什么作用
作用:改变执行顺序
下面的代码输出多少?修改代码让fnArr[i]()
输出 i。使用两种以上的方法
代码输出10
第一种:
第二种:
使用闭包封装一个汽车对象,可以通过如下方式获取汽车状态
写一个函数使用setTimeout模拟setInterval的功能
写一个函数,计算setTimeout平均[备注:新加]最小时间粒度
下面这段代码输出结果是? 为什么?
下面这段代码输出结果是? 为什么?
会停留在
while(flag){}
,一直循环。因为setTimeout(0)语句放在最后执行,而flag初始值为true,while循环一直执行。
下面这段代码输出?如何输出delayer: 0, delayer:1...(使用闭包来实现)
输出:
因为setTimeout(0)语句最后执行,所以先执行循环打印,而i在setTimeout中未定义,所以获取for循环执行完后的i,此时i=5;循环了5次,所以打印5次。
修改: