小编Tec*_*ast的帖子

为什么 Javascript 以这种方式工作?

所以我在 Twitter 上看到了某人的推文,提到以下脚本是在求职面试中给出的。

for (var i = 0; i < 3; i+=1) {
    setTimeout(function() {
        console.log(i)
    }, 100)
}
Run Code Online (Sandbox Code Playgroud)

受访者被要求预测这个剧本的结果,他在推文中提到这对他来说很明显。

对我来说,作为对 Javascript 的全新(或不感兴趣),很难理解为什么结果不是:

1) 0, 1, 2 依次。(作为传统的'for-loop')

2)。只打印 3 一次。(如果在调用函数之前完全完成了迭代)

但是打印 3 三遍。

这是因为 Javascript 不是顺序编程语言,或者 Javascript 的特征,或者两者兼而有之?

javascript functional-programming

1
推荐指数
1
解决办法
66
查看次数

标签 统计

functional-programming ×1

javascript ×1