JavaScript中 $ one 和 var one 有什么区别?因为两者都有效。
例如:
$one = 'hello word!';
var one = 'hello word!';
答案 0 :(得分:3)
关于$没什么特别的;只是另一个变量名。使用“var”告诉解释器变量具有局部范围。没有var =>全球。即;从页面内的任何地方访问。
答案 1 :(得分:2)
var one
保证变量设置为本地范围。
默认情况下,$one
会将变量分配给全局范围。
答案 2 :(得分:0)
他们都是变量名。在JavaScript中,$字符是变量名称的有效字符。 var关键字只是在示例中设置变量名称的范围。
由于它在jQuery等不同的JavaScript库中的使用,它已经变得流行,但它是一个非常有效的变量名字符。
答案 3 :(得分:0)
没有区别,变量名称中可能包含$
符号。您刚刚声明了两个不同的变量 - $one
和one
。
upd:根据@yi_H评论 - 这两个变量实际上有不同的范围。 var
关键字用于在当前范围内声明变量,但是如果省略var
,则在全局命名空间中定义
答案 4 :(得分:0)
$ one在全局范围内定义,并且在每个函数中都可见。 var one
在其封闭范围内定义,在外部不可见。
答案 5 :(得分:0)
有些人使用“$”作为前缀来表示jQuery对象,例如:
$text = $("#myTextElement");
答案 6 :(得分:0)
两个名称都是有效的标识符,没有区别。有关var关键字的使用,请参阅What is the purpose of the var keyword and when to use it (or omit it)?
答案 7 :(得分:0)
$
中的$one
并不意味着什么特别的。它只是另一个普通的JavaScript变量。在一些开发人员中有一个约定,其中带有$
的前缀变量表示该变量包含一个jQuery对象。这纯粹是为了风格和可读性,并没有技术或语法上的影响。
当您从声明中省略var
时,浏览器会将变量附加到全局对象:
foo = 'bar';
alert(window.foo); // 'bar'
对于任何拥有超过一小部分JavaScript(过去几年来一直在快速增长的类别)的网站,这会产生一些非常重要的影响。最佳做法是始终使用var
声明您的变量,以防止以后出现许多问题。
有关变量范围的详细信息,请参阅:What is the scope of variables in JavaScript?。