这可能是一个愚蠢的问题,但我无法在互联网上找到任何关于此的文件。
当声明要在Javascript中使用的变量时,我通常使用var x = 0
,但我在jQuery教程中看到他们使用$x = 0
。这两者有什么区别?
另外,我会以同样的方式调用这两个变量,还是之前需要使用$ mark?
例如:for(i=0; i < x; i++)
或for(i=0; i < $x; i++)
答案 0 :(得分:38)
您的var x = 0;
没问题。人们有时使用$
和jQuery特定变量的唯一原因是它帮助他们记住变量包含在jQuery中调用$()
函数的结果。 $
实际上是变量名称的一部分,因此您可以在引用变量的任何地方使用$
。
所以这个:
var x = $(".foo"); // Find all elements with class "foo"
x.css("color", "blue"); // Make them all blue
与此完全相同:
var $x = $(".foo"); // Find all elements with class "foo"
$x.css("color", "blue"); // Make them all blue
他们只是在名字的开头放了一个$
。
注意:您已将“jQuery”示例简称为$x = 0;
(不含var
)。确保始终声明变量(使用var
);否则,你将成为Horror of Implicit Globals的牺牲品。
答案 1 :(得分:7)
美元符号$
不是JavaScript中的特殊字符。它是变量命名的合法特征。以下是构成legal identifier in JavaScript:
JavaScript标识符必须以字母,下划线(_)或美元符号($)开头;后续字符也可以是数字(0-9)。由于JavaScript区分大小写,因此字母包括字符“A”到“Z”(大写)和字符“a”到“z”(小写)。
从JavaScript 1.5开始,您可以在标识符中使用ISO 8859-1或Unicode字母,例如å和ü。您还可以将\ uXXXX Unicode转义序列用作标识符中的字符。
合法名称的一些示例包括
Number_hits
,temp99
和_name
。
一些jQuery程序员(包括我自己)使用$
作为变量名的前缀来表示这些变量引用jQuery objects。
答案 2 :(得分:4)
没有区别。 $
只是JavaScript中的另一个角色。
恰好jQuery用户使用它来表示引用jQuery对象的变量。但是没有要求。