在js库中$ .something(object)如何也是$("something")(一个函数)?

Jon*_*tes 3 javascript function object libraries

这可能是一个简单的问题,有一个非常复杂的答案,或者我刚刚完全错过的非常简单的东西,但是,在像Prototype和jQuery等库中,$全局变量如何才能成为包含函数的对象,例:

$.ajax.get(…);
Run Code Online (Sandbox Code Playgroud)

还有一个功能本身,如:

$("…");
Run Code Online (Sandbox Code Playgroud)

任何帮助,甚至是指向更具说明性的网站的指针都会非常棒,我只是好奇!

例如,如果我创建了一个function($),它包含一个子对象(ajax),如:

var $ = function() {
    this.ajax = {};
    return this;
}; 
Run Code Online (Sandbox Code Playgroud)

我可以访问这个ajax对象$().ajax,但不喜欢$.ajax,你怎么得到它们?

mae*_*ics 7

在JavaScript中,函数是对象,而对象可能具有属性,因此它只是该语言的另一个很棒的部分!

var f = function(x) { return x; };
f.attr = "a";
f.attr; // => "a"
f(123); // => 123
Run Code Online (Sandbox Code Playgroud)