经典面试题

for (var i = 0; i < 3; i++) {
setTimeout(function() {
console.log(i);
}, 0);
console.log(i);
}
结果是:0 1 2 3 3 3
考察了:异步、作用域、闭包。
理解后看两个例子:
<script type="text/javascript">
var j = 0;
for(var i=0;i<100;i++){
setTimeout(function(){
console.log(j);
console.log(i);
j++;
},0);
}
</script>

<script type="text/javascript">
var j = 0;
for(var i=0;i<100;i++){
setTimeout(function(){
console.log(j);
console.log(i);
},0);
j++;
}
</script>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,072评论 2 17
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,288评论 1 10
  • 劣者其实主攻服务端,.net方向,不过项目中前端的知识也是必不可少,毕竟小公司不会给你配一个前端跟你撕逼。废话不多...
    彪哥剪影阅读 543评论 2 6
  • 如何控制alert中的换行?\n alert(“p\np”); 请编写一个JavaScript函数 parseQu...
    heyunqiang99阅读 1,136评论 0 6
  • 今天学习了列表框控件、组合框控件、单选按钮控件、复选按钮控件、分组框控件。 列表框控件:列表框底部添加项:Add(...
    郭鸿博阅读 440评论 0 0

友情链接更多精彩内容