我试图理解jQuery,但是我对语法的阻碍让我感到很奇怪。我甚至不理解常规JavaScript解析器如何解析它!我可以阅读示例代码,并且我会从附带的材料中了解 它在做什么,但我不理解如何。
我知道$
只是jQuery的别名,但这并不能回答这个问题。使用经典的jQuery函数来延迟事物直到页面完全加载:
$(document).ready(function() {
...
});
或jQuery选择器,它选择DOM中的所有p
元素并应用CSS规则:
$('p').css('color', 'blue');
所以...某种方式document
和'p'
被识别为关键字,并与相应的值相关联,对吧?除非它看起来不是真的,因为然后jQuery必须预先计算它将返回的结果任何可能的键可能被要求,包括jQuery可能无法知道的元素ID!那么它究竟是如何起作用的?
(编辑以修复描述代码时的错误)
答案 0 :(得分:9)
答案比你想象的要简单。 $
确实是jQuery库的别名...它是作为单个函数实现的。当您看到如下代码时:
$(document).ready(function() {
...
});
您所看到的是:
$
)被调用... document
... ready
方法,被调用... 事实上,两者都是。它是一个函数,它也是一个具有自己属性的对象,包括函数。这就是为什么有时你会看到如下代码:
$.getJSON('http://www.foo.com/search?q=....
在我们之前的代码中,$
是我们调用的函数。在此代码中,$
是我们调用的函数getJSON
所在的对象。