javascript小问题 - 爱问答

(爱问答)

javascript小问题

函数如下:

function test(){

     var  arr=[ ];

      for(var i=0; i<10; i++){

          (function(j){

              arr[j]=function(){

                   document.write(i

 }( i))

}

return arr;

}


const   myArr=test();

for(i=0;i<10;i++){

       myArr[i]();

}

这个输出结果是0-9


myArr[0];

myArr[1];

myArr[2];      这个结果都是10    为什么呢?

myArr[3];

myArr[4];


你可以试着找到下面画红色横线的地方:

javascript小问题

然后改成

document.write(j);

……

这个问题涉及到闭包和立即执行函数这两个知识点。

相关标签:java

下一篇:水泵机组类型、泵站如何运行?

上一篇:tp5模板循环输出总共有6个记录,第二个和第四个展现形式一样,其他四个一样怎么弄

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?