我经常看到JavaScript中以美元符号开头的变量。什么时候/为什么选择以这种方式为变量加上前缀?

(我不是问你在jQuery和其他中看到的$('p.foo')语法,而是像$name和$order这样的正常变量)


当前回答

虽然您可以简单地使用它作为标识符的前缀,但它应该用于生成的代码,例如模板中的替换令牌。

其他回答

$用于区分普通变量和jquery变量。 让你在FLIPKART下订单,然后如果订单是一个变量,显示你的字符串输出,然后它被命名为简单的“order”,但如果我们点击place order,然后返回一个对象,该对象将用$表示为“$order”,以便程序员可以在整个代码中剪掉javascript变量和jquery变量。

正如我在过去4年的经验,它将允许一些人很容易地识别变量是否指向值/对象或jQuery包装的DOM元素

前任: var name = 'jQuery'; var lib = {name:'jQuery',version:1.6}; var $dataDiv = $('#myDataDiv');

在上面的例子中,当我看到变量“$dataDiv”,我可以很容易地说,这个变量指向一个jQuery包装DOM元素(在这种情况下,它是div)。我也可以调用所有的jQuery方法,而不是包装对象再次像$dataDiv.append(), $dataDiv.html(), $dataDiv.find()而不是$($dataDiv).append()。

希望能有所帮助。 所以最后想说的是,这将是一个很好的实践,但不是强制性的。

${varname}只是jQuery开发人员用来区分包含jQuery元素的变量的命名约定。

Plain {varname}用于存储一般内容,如文本和字符串。 ${varname}保存从jQuery返回的元素。

你也可以使用plain {varname}来存储jQuery元素,但正如我在开始时所说的,这将它与普通变量区别开来,使其更容易理解(想象一下将其混淆为普通变量并搜索以了解它所包含的内容)。

例如:

var $blah = $(this).parents('.blahblah');

这里,blah存储返回的jQuery元素。

因此,当其他人在代码中看到$blah时,他们会明白这不仅仅是一个字符串或数字,而是一个jQuery元素。

我有时在javascript变量中使用php名称约定的原因: 当进行输入验证时,我想在客户端运行完全相同的算法, 和服务器端。我真的希望两边的代码看起来尽可能相似,以简化维护。在变量名中使用美元符号会更容易。

(此外,一些明智的帮助函数有助于使代码看起来相似,例如包装输入值查找,strlen的非oo版本,substr等。不过,它仍然需要一些手动调整。)

虽然您可以简单地使用它作为标识符的前缀,但它应该用于生成的代码,例如模板中的替换令牌。