【问题标题】:difference between var keyword and without var [duplicate]var关键字和没有var的区别[重复]
【发布时间】:2011-09-30 21:49:20
【问题描述】:

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

在java脚本中使用var关键字和不使用var关键字有什么区别?

例如:

var x = 14;

还有x = 14;

这些是否相同,或者当我们声明 var x 时,它是一个局部变量,当它没有 var 关键字时,它是全局变量?

谢谢!

【问题讨论】:

  • Mike,请参阅右侧的“已链接”部分,了解与它重复的内容。

标签: javascript


【解决方案1】:

如果在函数或其他非全局范围内使用var 关键字,则该变量的范围不是全局

如果在变量名之前没有使用var 关键字,那么该变量的范围是全局的

【讨论】:

  • 我想补充一点,这并不是为了防止语言的新手放弃它而造成的语法错误。如果您不小心创建了一个全局变量并在整个函数中对其进行操作,那么简单的程序也可以。
  • @TomDDD 对,这不是语法错误,但可能是一个非常令人困惑的逻辑错误。视实际使用而定。重要的是理解离开var 时会发生什么,而且,IMO,这里问的是什么
  • 我完全同意你的看法。我只是添加了为什么这个“功能”存在的历史。永远没有理由忽略。即使在创建全局变量时。创建一个名为global 的全局变量,并像普通赋值一样为其赋值
  • 即使没有 var 的 x=2 在某些特定函数中也是如此吗?作为一个整体,这也会是全球性的吗?
【解决方案2】:

在函数外声明的变量变为全局变量,网页上的所有脚本和函数都可以访问它。

关闭页面时全局变量被销毁。

如果你声明一个变量,而不使用“var”,这个变量总是会变成 GLOBAL。

【讨论】:

  • 您使用或只是为了强调 global 和 GLOBAL 之间的区别?
猜你喜欢
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 2019-09-21
  • 2018-12-07
  • 1970-01-01
相关资源
最近更新 更多