我经常看到JavaScript中以美元符号开头的变量。什么时候/为什么选择以这种方式为变量加上前缀?
(我不是问你在jQuery和其他中看到的$('p.foo')语法,而是像$name和$order这样的正常变量)
我经常看到JavaScript中以美元符号开头的变量。什么时候/为什么选择以这种方式为变量加上前缀?
(我不是问你在jQuery和其他中看到的$('p.foo')语法,而是像$name和$order这样的正常变量)
当前回答
$用于区分普通变量和jquery变量。 让你在FLIPKART下订单,然后如果订单是一个变量,显示你的字符串输出,然后它被命名为简单的“order”,但如果我们点击place order,然后返回一个对象,该对象将用$表示为“$order”,以便程序员可以在整个代码中剪掉javascript变量和jquery变量。
其他回答
jQuery中最常见的用法是将存储在变量中的jQuery对象与其他变量区分开来。
例如,我会定义:
var $email = $("#email"); // refers to the jQuery object representation of the dom object
var email_field = $("#email").get(0); // refers to the dom object itself
我发现这在编写jQuery代码时非常有帮助,并且可以很容易地看到具有不同属性集的jQuery对象。
正如其他人所提到的,美元符号是用于机械生成的代码。然而,这种惯例已经被一些非常流行的JavaScript库打破了。JQuery, Prototype和MS AJAX(又名Atlas)都在它们的标识符中使用这个字符(或作为一个完整的标识符)。
简而言之,你可以随时使用美元。(翻译不会抱怨。)问题是你想什么时候使用它?
我个人不使用它,但我认为它的使用是有效的。我认为MS AJAX使用它来表示函数是一些更详细调用的别名。
例如:
var $get = function(id) { return document.getElementById(id); }
这似乎是一个合理的惯例。
$字符对于JavaScript引擎没有特殊意义。它只是变量名中的另一个有效字符,如a-z, a-z, _, 0-9等…
Stevo是对的,美元脚本符号的含义和用法(在Javascript和jQuery平台中,但在PHP中不是)完全是语义上的。$是一个字符,可以用作标识符名称的一部分。此外,美元符号可能不是你在Javascript中遇到的最“奇怪”的东西。下面是一些有效标识符名称的例子:
var _ = function() { alert("hello from _"); }
var \u0024 = function() { alert("hello from $ defined as u0024"); }
var Ø = function() { alert("hello from Ø"); }
var $$$$$ = function() { alert("hello from $$$$$"); }
以上所有的例子都可以。
试一试。
有效的JavaScript标识符必须以字母开头, 下划线(_)或美元符号($); 后续字符也可以 是数字(0-9)。因为JavaScript是区分大小写的, 信 包括字母“A”到“Z”(大写)和 字母a到z(小写)。
细节: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Variables