您好我正在为大学构建一个简单的小型JS框架。我在做像jQuery这样的事情时遇到了问题。
目前,我可以通过$.method()
调用方法,但在查看源代码时我们如何处理$().method()
,并且似乎无法弄清楚它们是如何实现的。每当我试图让我的东西看起来像他们的时候它就不起作用了。
那么实现这一目标的最佳途径是什么。
答案 0 :(得分:2)
function $() {
return Object.create(Proto);
}
$.method = function method() { ... };
Proto.method = function method() { ... };
$.method();
$().method();
所以你有一个函数,其属性是方法,你的函数返回一个有方法的对象。
另一个专业提示,$
是一个糟糕的变量名,使用更有意义的东西。
答案 1 :(得分:1)
每个可链接函数调用都以这种方式工作,因为每个函数调用都返回jQuery对象。
例如,
var $=function(){ return $; };
$.foo = function(){return "foo"};
$().foo() //Outputs "foo"