7

可能重复:
为什么 JavaScript 变量会以美元符号开头?

我用 jquery 实现了一些语法,但不知道它是什么。开始:

var $foo = $("bar").blah();

var hello$ = $("stgelse").etc();

这些有什么区别?为什么他们会这样?

另外,例如:

var $foo = $("").blah();

var 应该已经包含返回的任何右侧?不?

你能详细说明一下吗?

4

4 回答 4

7

在 Javascript 中,您可以$在变量名中使用(或者单独作为变量名,例如 jQuery 库使用的变量名),语言本身没有特殊含义。

有些人$在变量名的开头使用来表示该变量应该包含一个jQuery对象,例如:

var $form = $('form');

变量名称末尾的A$在 BASIC 中用于字符串变量,这可能是在其他语言中命名变量时使用它来表示某些含义的原因之一。例子:

10 LET NAME$="JOHN DOE"
20 PRINT NAME$
于 2012-12-04T07:41:56.803 回答
4
var $foo = $("bar").blah();
  • var是在某些情况下使变量局部化的关键字。看到这个问题
  • $foo是此变量的名称。不需要$, 确实它混淆了一切,但有些语言(如 PHP)需要他们说“这是一个变量”。它可能只是foo
  • =是分配$foo来自右手边的任何东西
  • $是另一个变量,但是一个特殊的变量:这是你的 JQuery 东西!从那里你会看到它完成了所有 JQuery 的事情,比如“find bar, doblah()等。

另一行基本上也是如此,但在这种情况下,有人认为这hello$将是一个不错的 var 名称 :)

于 2012-12-04T07:34:01.940 回答
2

这里

var hello$ and $foo

hello$, $foo 只是一个变量名

$("").blah();

$是jquery对象

jsFiddle

于 2012-12-04T07:33:13.093 回答
1

$只是一个名称 - JavaScript 中的名称可以包含美元符号,并且可以仅包含一个美元符号。

它就像普通的 javascript 变量,但按照惯例用于从普通的 javascript 变量中识别 jquery 对象变量。没什么特别的。

于 2012-12-04T07:34:46.423 回答