javascript - 可以从闭包访问可变变量

标签 javascript jquery json variables

<分区>

我有以下代码:

for (var i = 0; i < data.length; i++) {
        var file = data[i];
        $.getJSON("/types/" + file, function(json) {
            if (json[0] !== undefined) {
                console.log(json[0] + file);
            }
        });
    }

但是我的编辑说“可变变量可以从闭包中访问”。我尝试将 function(json) { 更改为 function(json, file) {,但这不起作用,因为这是 jquery 的默认函数。

我希望你能帮助我解决这个问题。

最佳答案

对于这样的循环,你需要把内容放在一个闭包中。

for (var i = 0; i < data.length; i++) {
    (function(){
        var file = data[i];
        $.getJSON("/types/" + file, function(json) {
            if (json[0] !== undefined) {
                console.log(json[0] + file);
            }
        });
    })();
}

关于javascript - 可以从闭包访问可变变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638834/

相关文章:

javascript - 当从 Grunt 传递到 CasperJS 时,字符串会被破坏

javascript - 如何从html中的url获取json数据

java - Jackson用 "pseudo array"对象反序列化json字符串

javascript - 轻量级 AJAX 对象有推荐吗?

php - 如何禁用 Jcrop 中的宽高比

javascript - Chart.js,更改特定刻度的颜色

jquery - 如何将 DOM 附加到 Angular 2 组件并仍然获得封装样式

javascript - 如何使用 php 查询处理数据添加多字段输入

jquery - 为事件上的 HTML 表格单元格(或整行)的背景颜色设置动画

ios - 更新值 - SwiftyJSON