jQuery或$似乎是一个功能:
typeof $; // "function"
Run Code Online (Sandbox Code Playgroud)
它就像一个:
$('div').removeClass(); // $ constructs a new object with some methods like removeClass
Run Code Online (Sandbox Code Playgroud)
但是当我删除函数括号时,它的行为就像一个对象:
$.each(/* parameters */); // $ is an object with some methods like each
Run Code Online (Sandbox Code Playgroud)
我想知道这是如何可行的,以及如何将这种行为实现到我自己的函数中.
标题中的问题.我一直想知道并且未能从jQuery源代码中找到答案.如何做到这一点.
重申一下.在jQuery中:"$"如何成为一个函数,例如"$()"以及一个对象"$".
我可以像这样或另一种方式创建它...
var $ = function(){
return {each:function(){console.log("Word")}}
}
// $.each(); FAIL!
$().each(); // Word
var $ = {
each:function(){console.log("Word")}
}
$.each(); // Word
//$().each(); FAIL!
Run Code Online (Sandbox Code Playgroud)