JavaScript变量声明

4
在JavaScript中,以下几种var声明方式有何不同?
$x

var x

var $x
4个回答

7

$x和x只是两个不同的变量名,就像var xvar y一样。仅仅使用$x是一个隐含的声明,但如果在更高的作用域中存在$x,你将使用它。声明var $x在当前作用域中设置了一个新的$x,避免与更高作用域中的任何其他$x发生冲突。


4

除了作用域之外没有区别。$x就像x一样只是一个变量名。使用var在本地作用域中创建变量,否则它们是全局的。

这与jQuery无关,真的。


这个答案可能会让人感到困惑,因为当前的问题中已经没有任何关于jQuery的标签或提及。更具体地说,$xx变量名之间的区别不再比xyx大。然而,按照惯例,有时候在变量名的开头使用$来表示该变量存储了一个指向jQuery对象的引用。 - Zhihao

3
如果你在没有声明的情况下使用$x,那么你就会隐式地创建一个名为$x的全局变量。var xvar $x分别在你所在的函数(或全局作用域)中创建一个名为x$x的变量。这两个声明与jQuery无关。

1

没什么。然而,我发现在变量名前加上 $ 是一个好的习惯,如果它返回一个 jQuery 对象,则加上 $,否则不加(返回 DOM 对象或其他类型,如字符串等)。

术语“var”对于确定作用域非常有用。始终在第一次声明时使用“var”,或者在任何时候需要将变量限定为局部作用域时使用“var”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接