我经常看到JavaScript中以美元符号开头的变量。什么时候/为什么选择以这种方式为变量加上前缀?
(我不是问你在jQuery和其他中看到的$('p.foo')语法,而是像$name和$order这样的正常变量)
我经常看到JavaScript中以美元符号开头的变量。什么时候/为什么选择以这种方式为变量加上前缀?
(我不是问你在jQuery和其他中看到的$('p.foo')语法,而是像$name和$order这样的正常变量)
当前回答
$用于区分普通变量和jquery变量。 让你在FLIPKART下订单,然后如果订单是一个变量,显示你的字符串输出,然后它被命名为简单的“order”,但如果我们点击place order,然后返回一个对象,该对象将用$表示为“$order”,以便程序员可以在整个代码中剪掉javascript变量和jquery变量。
其他回答
如果你看到美元符号($)或双美元符号($$),并想知道这在Prototype框架中意味着什么,下面是你的答案:
$$('div');
// -> all DIVs in the document. Same as document.getElementsByTagName('div')!
$$('#contents');
// -> same as $('contents'), only it returns an array anyway (even though IDs must be unique within a document).
$$('li.faux');
// -> all LI elements with class 'faux'
来源: http://www.prototypejs.org/api/utility/dollar-dollar
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 $$$$$"); }
以上所有的例子都可以。
试一试。
由于变量名开头的_通常用于表示一个私有变量(或至少是一个私有变量),我发现$方便在我自己的简短别名前面添加到泛型代码库。
例如,在使用jQuery时,我更喜欢使用变量$J(而不是仅仅$),在使用php.js时使用$P,等等。
前缀使它在视觉上与其他变量(如我自己的静态变量)不同,提示我代码是某个库或其他库的一部分,一旦他们知道了约定,就不太可能与他人冲突或混淆。
它也不会像对每个库调用重复完全指定的名称那样使代码变得混乱(或需要额外的输入)。
我喜欢把它看作是类似于修饰键扩展单键可能性的作用。
但这只是我自己的习惯。
虽然您可以简单地使用它作为标识符的前缀,但它应该用于生成的代码,例如模板中的替换令牌。
Angular将is用于框架生成的属性。我猜,他们是根据ECMA-262 3.0提供的提示(现在已经失效了)。