2

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

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

任何帮助,将不胜感激。

4

1 回答 1

1

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

function someThing(x) {
     var i;
     if (x && typeof x === "object") {
        for (i in x) {
            if (x.hasOwnProperty(i)) {
                //do stuff
            }
        }
    }
}
于 2013-10-06T10:56:01.703 回答