未捕获的ReferenceError:未定义x

时间:2014-06-13 13:46:14

标签: javascript undefined jslint

所以jsLint说我的x没有定义。我到处查看,但我找不到如何定义它......

for (x = 0; x < verdachten.length; x++) {
       console.log("De verdachte is de  " + verdachten[x].leeftijd + "jaar oud " + verdachten[x].naam  + ", de " + verdachten[x].wie);
    }

那是出错的地方。 x ...

2 个答案:

答案 0 :(得分:2)

这是jsLint是过分谨慎的情况。大多数浏览器会自动定义x,但jsLint会对此进行警告,因为如果没有正确初始化变量,很容易得到一个范围错误,如下所示:

for( var x = 0; x < verdachten.length; x++ ) {
  console.log(
    "De verdachte is de " +
    verdachten[x].leeftijd +
    "jaar oud " +
    verdachten[x].naam +
    ", de " +
    verdachten[x].wie
  );
}

如果您在范围内的其他位置定义了x,则可能会出现问题:

function doStuff() {
  var x = "derp";

  // things
  console.log(x); //=> "derp";

  for(x = 0; x < 100; x++) {
    // other things
    console.log(x);//=> 0..99
  }

  console.log(x); //=> 99
  // original x variable has now changed :(
}

答案 1 :(得分:0)

for (var x = 0; x < verdachten.length; x++) {
       console.log("De verdachte is de  " + verdachten[x].leeftijd + "jaar oud " + verdachten[x].naam  + ", de " + verdachten[x].wie);
    }

for(var x = 0; x&lt; verdachten.length; x ++){

您在定义变量&#39; x&#39;时遇到问题。在javascript中,变量由前缀var定义,不需要变量类型。

快乐编程:)