为什么这里的i是全局变量呢,因为是全局变量所以i是for循环结束后的值5?

为什么这里的i是全局变量呢,因为是全局变量所以i是for循环结束后的值5?

    arr.push(function () {

                    alert(i);

                });


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕然然 2021-04-13 11:53:12

同学你好,因为i变量在for循环语句中被定义,其作用域是全局,所以i为全局变量。for循环结束后,i的值变为5,当执行arr数组中的函数时,此时arr数组中的所有函数都会共享内存中的同一个全局变量i,所以arr数组中的函数执行结果都会弹出5。祝学习愉快!


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师