【问题标题】:javascript var or not var, what's the difference? [duplicate]javascript var或not var,有什么区别? [复制]
【发布时间】:2011-05-22 02:47:47
【问题描述】:

可能重复:
Difference between using var and not using var in JavaScript

大家好

声明var myVar; 带有var 关键字或声明myVar 没有它。

这对某些人来说可能是个愚蠢的问题,但我正在学习 javascript。

有时,在阅读其他人的代码时,我看到一些变量的声明没有前面的“var”。只是为了强调,这些变量甚至没有被声明为函数的参数。

那么声明变量时带或不带'var'关键字有什么区别呢?

非常感谢

【问题讨论】:

    标签: javascript


    【解决方案1】:

    如果你不使用它,它可能是一个全局变量,或者在 IE 的情况下,它会爆炸。

    在某些情况下你不需要它,例如,如果它是你所在函数的参数,它已经被声明了。 总是在任何其他情况下使用var(其他情况是:除非您正在操作一个已经存在的变量)。无论需要在什么范围内定义,显式在那里定义。

    【讨论】:

      【解决方案2】:

      这都是关于范围界定的。从技术上讲,你可以省略 var 但考虑一下:

      myVar = "stuff";
      
      function foo() {
          myVar = "junk"; //the original myVar outside the function has been changed
      }
      
      function bar() {
          var myVar = "things" //A new scoped myvar has been created internal to the function
      }
      

      【讨论】:

      • 你不能“在技术上忽略它”,一些浏览器允许,这是有区别的。执行此操作时 IE 会崩溃,这是理所当然的。
      • @Nick fair 评论,我说错了
      • 哦,顺便说一句,我并不是建议你永远忽略 var,我只是说你可以侥幸逃脱。使用 var 使您的代码更易于阅读和调试,养成使用它的习惯。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      相关资源
      最近更新 更多