2

尽管您可以使用变量而不在 javascript 中声明它,但滥用变量会导致难以解决的错误。例如,下面的代码会导致死循环。

  for(i=0;i<100;i++){
    document.write(fiveTimes(i));
  }
  ...

  function fiveTimes(x){
    i=5;
    return (i*x);
  }

我想知道是否有一种方法可以强制在使用前声明 javascript 中的每个变量。或者任何人都知道如何在大型 Web 服务器中的大量 javascript 文件和块中检查变量声明 - 使用前。

4

2 回答 2

5

您可以启用“严格模式”,并且可以通过jsLint(或jsHint,如果您有敏感的感觉 :))传递您的代码,这些步骤将大大有助于使您的代码以可预测的方式执行。

于 2013-05-08T15:02:05.243 回答
1

JavaScript 背后的主要架构不允许您在不使用另一个编译器(jsHint 等...)解析代码的情况下实现这一点。那里会发生什么,库会仔细检查你的代码是否有一些危险的(不需要的)结果。如果你足够好并且知道你在做什么,你可以避免使用这些,只是小心你在做什么。

此外,有很多语言可以编译为 JS(CoffeeScript 等),它们对每个函数都有自动变量声明以及您可能感兴趣的更多内容。

该解决方案必须告诉您 JavaScript 不应该在内部执行此操作,并且至少目前没有强制使用“严格”模式。

于 2013-05-08T15:20:53.743 回答