你真正要理解的是JS的作用域
点擊发生后进入了另外一个作用域 local
在local作用域中每次都声明a 结果就是 a 每次都被赋值为 undefined ,
因为每次脱离这个作用域时作用域里面的变量都被垃圾处理机制回收销毁,所以在每次点击后 a 又被重新声明并重新赋值为 undefined
更进一步,JS这些作用域都是嵌套的正因为有作用域链,才有了后媔的闭包不过那就是另一个话题啦。
如果不加上主句:
result是没有返回值嘚因为在还没有执行异步请求操作之前就已经执行return了。
你真正要理解的是JS的作用域
点擊发生后进入了另外一个作用域 local
在local作用域中每次都声明a 结果就是 a 每次都被赋值为 undefined ,
因为每次脱离这个作用域时作用域里面的变量都被垃圾处理机制回收销毁,所以在每次点击后 a 又被重新声明并重新赋值为 undefined
更进一步,JS这些作用域都是嵌套的正因为有作用域链,才有了后媔的闭包不过那就是另一个话题啦。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。