jQuery如何使jQuery对象既是函数又是对象属性?

时间:2011-08-16 04:34:37

标签: javascript jquery function object properties

我一直想知道jQuery如何既是函数又是对象属性。

你可以像函数jQuery(...)一样使用它,你可以像使用属性jQuery.ajax(...)

一样使用它

如何在Javascript中实现这样的功能?

3 个答案:

答案 0 :(得分:15)

函数是javascript中的对象。所以你可以拥有主要功能

var $ = function() {  alert('wat'); }

然后扩展它

$.fadeTo = function() { alert('fadeto'); }

答案 1 :(得分:9)

因为在JavaScript中,函数是可以具有属性的对象:

function test() { ... }

test.a = function () { ... };
test.a(); // totally valid

答案 2 :(得分:2)

我认为jQuery在代码概念方面究竟是什么概念令人困惑。我遇到了这个链接,它以一种非常简单易行的方式解释了jQuery架构:http://blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html

因此,简而言之,$是名为'jQuery'的JavaScript函数的别名,使用点符号(如$ .trim())调用的方法是'JavaScript'jQuery'函数的静态方法。请注意,函数继承自JavaScript中的对象,因此函数是JavaScript中的对象。