Javascript For In-Loop JSLint错误消息:无法读取属性";“行”;从未定义

Javascript For In-Loop JSLint错误消息:无法读取属性";“行”;从未定义,javascript,for-loop,jslint,Javascript,For Loop,Jslint,我遇到了一个JSLint错误“无法从未定义中读取属性”行,无法理解为什么会在这段代码中发生这种情况: function someThing(x){ if(x &&typeof x==="object"){ for(var i in x){ //do stuff } } } 任何帮助都将不胜感激。给出的代码示例中有一些linting错误、几个空白错误、一个var声明错误和一个原型链错误。您得到的错误是由于在f

我遇到了一个JSLint错误“无法从未定义中读取属性”行,无法理解为什么会在这段代码中发生这种情况:

function someThing(x){
    if(x &&typeof x==="object"){
        for(var i in x){
            //do stuff
        }
    }
}

任何帮助都将不胜感激。

给出的代码示例中有一些linting错误、几个空白错误、一个var声明错误和一个原型链错误。您得到的错误是由于在for-in循环中声明了i。尝试:

function someThing(x) {
     var i;
     if (x && typeof x === "object") {
        for (i in x) {
            if (x.hasOwnProperty(i)) {
                //do stuff
            }
        }
    }
}

你能粘贴你试图循环通过的对象的结构吗?简言之,是的,我们需要更多的代码。把它倒进垃圾桶里。除了pastebin版本修复的延迟
var i
和空
for
之外,它还检查了。这解决了您的问题吗?