当前第2页 返回上一页
下面这段代码输出结果是? 为什么?
1 2 3 4 5 6 | var flag = true;
setTimeout( function (){
flag = false;
},0)
while (flag){}
console.log(flag);
|
不会输出结果,因为setTimeout(function(){flag = false;},0)会在所有代码执行完毕后才运行,``flag初始值为true,所以while会一直循环下去,console.log(flag)也不会被访问,但是由于某些浏览器会存在环路保护功能,所以也有可能输出为true```。
下面这段代码输出?如何输出delayer: 0, delayer:1...(使用闭包来实现)
1 2 3 4 5 6 | for ( var i=0;i<5;i++){
setTimeout( function (){
console.log( 'delayer:' + i );
}, 0);
console.log(i);
}
|
代码:
1 2 3 4 5 6 7 8 | for ( var i=0;i<5;i++){
( function (i){
setTimeout( function (){
console.log( 'delayer:' + i );
}, 0);
})(i)
console.log(i);
}
|
烧脑题
如下console.log的结果是什么?为什么?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function fn(a,b) {
console.log(b);
return {
fn: function (c){
return fn(c,a);
}
};
}
var a = fn(0);
a.fn(1);
a.fn(2);
a.fn(3);
var b = fn(0).fn(1).fn(2).fn(3);
var c = fn(0).fn(1);
c.fn(2);
c.fn(3);
|
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
简易的CSS3点击响应动画案列
如何使用python来判断图片相似度
以上就是JS的闭包与定时器的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
canvas实现压缩图片的代码示例
javascript怎么设置渐变色
javascript是哪家公司开发的
html里table表数据如何转为json格式
javascript如何实现跳转到页面
javascript和js之间有区别吗
css和javascript之间有什么区别
bootstrap和react的区别是什么?
你可能不知道的chrome debug专用的函数!
vue实现员工信息录入功能的方法
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JS的闭包与定时器