我只是有一个快速的问题,在谷歌上找不到任何东西。我正在浏览另一个程序员放在一起的一些代码,他在前面用 $ 声明了他的所有 javascript 变量......例如:
var $secondary;
是否有一个原因?如果最终使用 JQuery,这是否会在将来导致问题。我只是好奇,因为如果是这样,我会清理它。
我只是有一个快速的问题,在谷歌上找不到任何东西。我正在浏览另一个程序员放在一起的一些代码,他在前面用 $ 声明了他的所有 javascript 变量......例如:
var $secondary;
是否有一个原因?如果最终使用 JQuery,这是否会在将来导致问题。我只是好奇,因为如果是这样,我会清理它。
是否有一个原因?
很难说。也许他来自为$
变量添加前缀的 PHP 背景。也许他是一个 jQuery 瘾君子。谁知道?你得问问他。除此之外,$
在 JavaScript 变量名中使用是一个完全合法的字符,但正如您所指出的,它可能会导致 jQuery 出现问题。但这就是 jQuery 提供noConflict()
选项的原因。
$
是一个有效的变量字符,在 PHP 中所有变量都以它开头。该特定开发人员可能将$
其用作“标志”来表示“这是一个变量”。它没有特别的意义。
$
只是一个可以在变量名中使用的字符。有些人喜欢用它来表示包含 jQuery 对象的变量:
var $foo = $('#foo');
var bar = 42;
但这只是个人喜好。它没有特别的意义。
我也使用此约定来跟踪变量是否存储 JQuery 对象。所以说函数getJQueryObject()
返回一个 JQuery 对象,我想存储它。
IE:
var $myJQobj = getJQueryObject();
清楚地表明这$myJQobj
是一个与 ie 不同的 JQuery 对象
var myStr = "hello";
作为标识符中的$
第一个字符没有任何特殊含义,您没有调用类似的方法$()
,它只是 JavaScript 中一个完全有效的标识符。但是$
在 JQuery 中使用的事实使我之前所说的更加清楚。
它只是 jQuery DOM 选择的约定。
var $logo = $('a.logo');
它不会引起任何问题——它只是让其他开发人员知道您正在使用 jQuery 包装的 dom 元素。
$ 可以在 JavaScript 中使用。PHP 使用相同的变量语法,所以也许他已经习惯了。