3

我使用 jQuery 已经有一段时间了,并且了解了选择器和链的基础知识。我现在准备深入研究高级 javascript 概念。现在我对 jQuery 的多角色感到困惑。

例如,

jQuery.add(...) 

在我看来,jQuery 是一个我们可以向其发送消息的 javascript 对象。

jQuery(function() {...}) or jQuery(...selector...)

这一次,jQuery 好像是一个可以带一些参数的 javascript Function。

究竟是什么?

4

3 回答 3

2

console.log(typeof jQuery);输出'>函数':)

也试试这个:

var some_name = function() { return 42; };
some_name.some_property = 84;
some_name.some_method = function() { return 63; };

typeof some_name; // outputs "function"

// but... 
some_name.some_method(); // ...is also possible :)
于 2012-07-26T09:26:30.977 回答
0

很难比它已经描述的方式更深入地解释:

jQuery 是一个快速而简洁的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互,以实现快速的 Web 开发。jQuery 旨在改变您编写 JavaScript 的方式。

来源:jQuery.com

我一直认为它是另一种利用 javascript 来简化编码的语言。它充当在一行编码而不是 20+ 行代码中执行操作的函数,这是一个将 50+ 个字符缩短为 10+ 个字符的选择器,而且它的功能更多。

如果你真的想深入编码,可以下载jQuery的开发版。

jQuery:开发版本

于 2012-07-26T09:33:30.127 回答
0

首先,请记住 jQuery 是这样编写的:

jquery(...);

相当于:

new jQuery(...);

更多细节在这里

其次,$是 的同义词jQuery

第三,了解 javascript 允许调用函数而不分配返回的任何内容也很重要。var foo = bar(auguments);并且bar(auguments);都是法律声明。

最后,javascript 函数是一流的对象。它们可以传递给其他函数,由其他函数返回,通过赋值别名,并成为其他对象的属性。

有了这种理解,应该更容易理解语句是如何以及为什么喜欢$(selector);$(function(){...});工作的。

于 2012-07-26T10:16:29.823 回答