我想更好地理解jQuery' $'标志

时间:2013-01-22 23:16:08

标签: jquery

我希望确切地了解符号绑定的内容以及它是如何绑定的,以及它的底层结构是什么样的。

猜测它是用标签完成的,但我对JavaScript的经验不足以确定。

3 个答案:

答案 0 :(得分:5)

奇怪的问题。 $符号只是jQuery的别名。

所以,而不是:

jQuery('a').css('color','#f00');

......你可以这样做:

$('a').css('color','#f00');

它也不一定需要$。如果您愿意,可以添加更多钱。这有效:

(function ($$$$$$) {
    $$$$$$('body').html('Nobody will mess with you when you have this much cash.');
}(jQuery));

似乎正常的JavaScript变量命名规则适用:

  • 变量名称必须以字母
  • 开头
  • 变量名称也可以以$_
  • 开头
  • 变量名称区分大小写

如果你愿意,你的别名可能是orange_peanut,但是出于显而易见的原因,我们不要这样做。

希望有所帮助! :)

答案 1 :(得分:2)

我记得我最初对此感到困惑。但是$只是一个引用静态全局JQuery对象的变量。关于它是一个美元符号绝对没有什么特别之处 - 它只是一个方便而简短的变量名,John Resig(可能)认为它并没有在其他地方广泛使用。您可以使用下划线(_)作为默认的全局变量,使用Underscore库查看类似的模式。

现在,确实有某种奇怪的调用模式,因为它代替普通变量,你可以像这样使用它:

myObj.myFunction(myParam); 

JQuery静态对象既是对象又是一个函数。所以你可以这样称呼它(一个函数):

$('div').empty();

或者有时像这样(像对象一样):

$.ajax({url: "http://fiddle.jshell.net/favicon.png"});

但它有很多很多很多事情,并且有很多关于它如何做的细微之处。要获得更好的信息,请查看JQuery文档:http://api.jquery.com/。在这里查看JQuery问题 - 他们有很多信息。你最终会把它拿起来。

答案 2 :(得分:0)

$是主jQuery()函数的别名。换句话说,它是一个函数对象,就像Javascript中的所有函数一样,它上面有许多属性。