【问题标题】:Eclipse: The global variable is not explicitly declaredEclipse:未显式声明全局变量
【发布时间】:2013-07-03 08:55:58
【问题描述】:

我有一个 javascript 变量,在 eclipse 中给了我以下警告: 全局变量索引没有显式声明。

var inputs, index, inputLenght;
inputs = document.getElementsByTagName('p');
inputLength =inputs.length;
for (index = 0; index < inputLength; ++index) {
   // some stuf to do 
}

当我这样做时,警告消失了

 for (var index = 0; index < inputLength; ++index) {
    // some stuf to do 
 }

我想了解为什么将其定义为全局变量会发出警告?

【问题讨论】:

  • 是变量名index前面的var。 Eclipse 是说没有显式声明,在使用变量之前用var 声明变量是一种很好的行为。然而,JavaScript 会在您使用它时创建变量,但例如,当您输入错误 indxe 时会产生问题,因为它不会抱怨,只会创建一个具有该名称的新变量并且行为异常
  • 在 Webstorm 中我没有收到任何警告。一定只是一个 Eclipse 的东西
  • Exlipse 表示不初始化变量,只是对代码风格的警告。顺便说一句,你有错字 inputLenght**/inputLeng​​b>th**
  • 但是在for循环之外声明变量不是更好吗?
  • inputs 当然必须在外面声明;长度预定义是“微优化”。索引最好在为其设计的循环部分中定义。

标签: javascript global-variables warnings


【解决方案1】:

尝试将 var 语句分解为多个 var 语句: var 输入; 变量索引; 变量输入长度;

可能是 Eclipse javascript 警告问题(不理解声明多个 var 的 var 语句...

【讨论】:

  • var inputLength; var 输入;变量索引;或此 var 输入、索引、输入长度; ==== > 相同,我仍然有警告。
【解决方案2】:

因为在您的第一个示例中您声明它没有价值,但在第二个示例中您声明它 with 一个值 -

var index;

var index = 0;

当然,这是否是一个问题只是 Eclipse 的意见。

【讨论】:

  • 同意,一定是日食问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-30
  • 2011-06-30
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多