标签:nbsp 前端面试 OLE bsp 打印 col ons 外部 执行
1.请写出以下结果
for(var i=0; i<10; i++){ setTimeout(function () { console.log(i) },10) }
结果:打印10次190
解析:
考察的是作用域和异步的知识点,这是js特有的知识点,其它程序语言没有
a:遇到异步代码,程序不等待,而将代码继续执行下去,即for循环先执行完,然后再过来执行setTime里的回调,此时i已被累加到10
b:由于js语言没有块级作用域,故而定时器内的的i就是外部的i的值,所以定时器内部打印的那个i,早就是10了
标签:nbsp 前端面试 OLE bsp 打印 col ons 外部 执行
原文地址:https://www.cnblogs.com/dshvv/p/9816559.html