jQuery如何使jQuery对象既是函数又是对象属性?
我一直想知道jQuery如何既可以是函数又可以是对象属性。
您可以像函数jQuery(…)一样使用它,您可以像使用属性jQuery.ajax(…)一样使用它
你怎么能在Javascript中实现这样的东西?
函数是javascript中的对象。 所以你可以拥有自己的主要function
var $ = function() { alert('wat'); }
然后扩展它
$.fadeTo = function() { alert('fadeto'); }
因为在JavaScript中,函数是可以具有属性的对象:
function test() { ... } test.a = function () { ... }; test.a(); // totally valid
我认为jQuery在代码概念方面究竟是什么概念令人困惑。 我遇到了这个链接,它以一种非常简单易懂的方式解释了jQuery体系结构: http : //blog.mikecouturier.com/2010/02/beginning-with-jquery-solid-foundation_22.html
因此,简而言之,$是名为’jQuery’的JavaScript函数的别名,使用点符号(如$ .trim())调用的方法是’JavaScript’jQuery’函数的静态方法。 请注意,函数inheritance自JavaScript中的对象,因此函数是JavaScript中的对象。