Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中强制声明变量或如何检查变量?_Javascript_Variable Declaration - Fatal编程技术网

如何在javascript中强制声明变量或如何检查变量?

如何在javascript中强制声明变量或如何检查变量?,javascript,variable-declaration,Javascript,Variable Declaration,虽然您可以使用变量而不必在javascript中声明它,但滥用变量将导致难以解决的错误。例如,以下代码将导致无限循环 for(i=0;i<100;i++){ document.write(fiveTimes(i)); } ... function fiveTimes(x){ i=5; return (i*x); } for(i=0;i您可以启用并传递代码(或者如果您有敏感的感觉:))这些步骤将大大有助于使您的代码以可预测的方式执行 JavaS

虽然您可以使用变量而不必在javascript中声明它,但滥用变量将导致难以解决的错误。例如,以下代码将导致无限循环

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

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

for(i=0;i您可以启用并传递代码(或者如果您有敏感的感觉:))这些步骤将大大有助于使您的代码以可预测的方式执行

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

此外,还有许多编译成JS(CoffeeScript等)的语言,它们为每个函数和您可能感兴趣的更多内容自动声明变量


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

您正在寻找JSHint。从技术上讲,代码i=5是JavaScript变量的有效声明。它只是被声明到全局范围而不是本地范围。jsLint不值得这样做,请改用jsHint。生命是短暂的,我更像一个按摩师。我喜欢jsLint。我更喜欢我的皮棉来取笑我:)我想很多人都有这种感觉另外,比起jsLint,您可以配置jsHint多得多——如果您愿意,您甚至可以让它们以相同的方式运行,但与Lint不同的是,更改任何您觉得烦人的东西都很容易。@user2279231:为了方便您的谷歌搜索,它是
严格模式
而不是
限制模式
。另一个有趣的工具,可能做得比这里需要的更多,是谷歌的闭包编译器-。我还没有研究或使用它:)