网上看到一个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]);
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
一个javascript算法的理解-PHP中文网问答-一个javascript算法的理解-PHP中文网问答
围观一下哦,学习一下。
setTimeout有两种形式
setTimeout(code,interval)setTimeout(func,interval,args)所以第二个
ints[i]就会作为参数传进去javascript的执行上下文是采用运行期的,也就是说,如果不传ints[i]的话,会导致setTimeout里调用的number一直是数组的最后一项,也就是5。
遇到元素是 0 就死了.
0 只是推迟到最后.