【问题标题】:For In Loop JSLint Error Message: Cannot read property "line" from undefinedFor In Loop JSLint 错误消息:无法从未定义中读取属性“行”
【发布时间】:2013-10-11 00:17:05
【问题描述】:

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 你能粘贴你试图循环的对象的结构吗?
  • 简而言之,是的,我们需要更多代码。获取this pastebin 并将其转储到jslint.com。除了迟到的var i 和空的for,pastebin 版本都修复了这两个,它检查出来。

标签: javascript for-loop jslint


【解决方案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
            }
        }
    }
}

【讨论】:

  • 这是否解决了您的问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多