jQuery的类型是javascript对象、函数还是方法?

jQuery的类型是javascript对象、函数还是方法?,javascript,jquery,Javascript,Jquery,我已经使用jQuery一段时间了,并且了解选择器和链的基本知识。我现在准备深入研究高级javascript概念。现在我对jQuery的多重角色感到困惑 比如说, jQuery.add(...) 在我看来,jQuery是一个可以向其发送消息的javascript对象 jQuery(function() {...}) or jQuery(...selector...) 这一次,jQuery似乎是一个可以接受一些参数的javascript函数 具体是什么?console.log(jQuery的类

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

比如说,

jQuery.add(...) 
在我看来,jQuery是一个可以向其发送消息的javascript对象

jQuery(function() {...}) or jQuery(...selector...)
这一次,jQuery似乎是一个可以接受一些参数的javascript函数

具体是什么?

console.log(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 :)

很难再深入地解释它是如何描述自己的:

jQuery是一个快速简洁的JavaScript库,可以简化HTML 文档遍历、事件处理、动画和Ajax交互 用于快速web开发。jQuery旨在改变 您可以编写JavaScript

我一直认为它是另一种利用javascript简化编码的语言。它的功能是在一行代码中完成任务,而不是20+,一个将50+字符缩短为10+字符的选择器,而且它可以做更多的事情

如果您真的想深入了解编码,可以下载jQuery的开发版本


首先,请记住jQuery的编写方式如下:

jquery(...);
相当于:

new jQuery(...);
更多详细信息

其次,
$
jQuery
的同义词

第三,了解javascript允许调用函数而不指定返回的内容也很重要<代码>变量foo=bar(预兆)
条(预兆)都是法律声明

最后,javascript函数是第一类对象。它们可以传递到其他函数中,由其他函数返回,通过赋值使用别名,并生成其他对象的属性


有了这种理解,应该更容易理解像
$(selector)这样的语句是如何以及为什么出现的
$(函数(){…})工作。

因为可以调用
jQuery
,所以它必须是一个函数。但函数也是对象。您可以为它分配任何属性(如
add
)。它是一个函数,但由于所有函数都是对象,因此它也是一个对象;这就是一切,也没什么。它可以做几乎所有你需要的事情,而且它只不过是javascript。我不认为问题是关于jQuery库是什么,而是关于
jQuery
(和
$
)引用的值。@Felix Kling谢谢你澄清我的问题。@FelixKling啊,这就解释了。谢谢你简洁的解释。这是一个神奇的函数可以有一个方法!这个概念会让任何像我这样的OOP程序员感到困惑。@ToyHunter你还不够OOP;)JS的核心是对象:函数就是对象。你可能来自一种半途而废的OOP语言:-)@FlorianMargaine,这不是真的。这是因为函数是JS中的一级对象,这与其他OO语言不一样。这并不一定会使它们变得不那么OO.chester1000,所有这些都是正确的,但只是与jQuery的解释有非常外围的关联。