调用时机是什么?
- 调用时机是函数的要素之一,调用时机的不同,结果也会不同。
举个例子1
- 这里先把a赋值为2,再调用函数,所以打印出了2
再举个例子2
- 注意看调用时机,这里是先调用函数,所以打印出来是1
例子3
- 注意看多了setTimeout(意思是等一会打印出a),它改变了执行的时机;
- 即先让a = 2再打印出a,所以打印出来是2
例子4
- 注意看这里也有setTimeout,这里的意思是等for循环结束后再打印出 i
- 从0~5执行了六次,每一次都是等先for循环结束后再打印 i ,所以最后打印出了6个6
最后一个例子5
- 注意看let = 1 的位置,这样写在每次循环时会多创建一个i,因为 JS 在 for 和 let 一起用的时候会加东西
- 我的理解是第一次循环把i=0留在这个setTimeout空间里,复制一个i;第二次循环再把第二次的i=1留下来;每次循环都把i复制一份留在这里,不跟随新的i变化(把i复制了6遍),所以打印出的数字是0~5