Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中,循环中的函数可以';t访问循环范围变量_Javascript_Jquery Easyui - Fatal编程技术网

在javascript中,循环中的函数可以';t访问循环范围变量

在javascript中,循环中的函数可以';t访问循环范围变量,javascript,jquery-easyui,Javascript,Jquery Easyui,它基于jqueryeasyi 假设下面是HTML代码 <div id="menu" class="easyui-menu" style="width:120px;"> <div>New</div> <div> <span>Open</span> <div style="width:150px;"> <div><b>Wo

它基于jqueryeasyi

假设下面是HTML代码

<div id="menu" class="easyui-menu" style="width:120px;">
    <div>New</div>
    <div>
        <span>Open</span>
        <div style="width:150px;">
            <div><b>Word</b></div>
            <div>Excel</div>
            <div>PowerPoint</div>
        </div>
    </div>
    <div data-options="iconCls:'icon-save'">Save</div>
    <div class="menu-sep"></div>
    <div>Exit</div>
</div>

您上面面临的问题可以使用闭包解决。我曾经遇到过这个挑战,并使用闭包解决了它

更改代码以与此匹配。尝试在代码中使用此格式

for (var i = 0; i < 5; i++) {
    (function(x){
        console.log(x);
    })(i);
}
for(变量i=0;i<5;i++){
(功能(x){
控制台日志(x);
})(i) );
}

您面临的上述问题可以使用闭包解决。我曾经遇到过这个挑战,并使用闭包解决了它

更改代码以与此匹配。尝试在代码中使用此格式

for (var i = 0; i < 5; i++) {
    (function(x){
        console.log(x);
    })(i);
}
for(变量i=0;i<5;i++){
(功能(x){
控制台日志(x);
})(i) );
}

是的,使用函数创建闭包会有所帮助,也可以查看以下答案:

我个人建议使用
forEach
绕过这个问题:

[1,2,3,4,5].forEach(function(i) {
  console.log(i)
});

是的,使用一个函数来创建一个闭包会有所帮助,也可以查看以下答案:

我个人建议使用
forEach
绕过这个问题:

[1,2,3,4,5].forEach(function(i) {
  console.log(i)
});