JavaScript匿名方法

时间:2012-01-18 21:15:32

标签: javascript

您好我正在为大学构建一个简单的小型JS框架。我在做像jQuery这样的事情时遇到了问题。

目前,我可以通过$.method()调用方法,但在查看源代码时我们如何处理$().method(),并且似乎无法弄清楚它们是如何实现的。每当我试图让我的东西看起来像他们的时候它就不起作用了。

那么实现这一目标的最佳途径是什么。

2 个答案:

答案 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"