84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
网上看到一个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]); }
学习是最好的投资!
一個javascript演算法的理解-PHP中文網問答-一個javascript演算法的理解-PHP中文網問答
圍觀一下哦,學習一下。
setTimeout有两种形式setTimeout(code,interval)setTimeout(func,interval,args) 所以第二个ints[i]就会作为参数传进去
setTimeout(code,interval)
setTimeout(func,interval,args)
ints[i]
javascript的执行上下文是采用运行期的,也就是说,如果不传ints[i]的话,会导致setTimeout里调用的number一直是数组的最后一项,也就是5。
遇到元素是 0 就死了. 0 只是推迟到最后.
一個javascript演算法的理解-PHP中文網問答-一個javascript演算法的理解-PHP中文網問答
圍觀一下哦,學習一下。
setTimeout有两种形式
setTimeout(code,interval)
setTimeout(func,interval,args)
所以第二个
ints[i]
就会作为参数传进去javascript的执行上下文是采用运行期的,也就是说,如果不传ints[i]的话,会导致setTimeout里调用的number一直是数组的最后一项,也就是5。
遇到元素是 0 就死了.
0 只是推迟到最后.