网上看到一个javascript的算法。但不是懂运行原理,求指教。
var ints=[1,3,2,4,8,6,7,5]; for(i = 0;i < ints.length;i++) { setTimeout(function(num){ console.log(num); },ints[i],ints[i]); }
数据分析师2017-10-01 01:15:49
자바스크립트 알고리즘의 이해-PHP 중국어 사이트 Q&A-자바스크립트 알고리즘의 이해-PHP 중국어 사이트 Q&A
둘러보고 배워보세요.
阿神2017-04-10 12:44:05
setTimeout有两种形式setTimeout(code,interval)
setTimeout(func,interval,args)
所以第二个ints[i]
就会作为参数传进去
黄舟2017-04-10 12:44:05
javascript的执行上下文是采用运行期的,也就是说,如果不传ints[i]的话,会导致setTimeout里调用的number一直是数组的最后一项,也就是5。