我正在尝试创建一个可以支持方法链接的迷你jQuery克隆。到目前为止,我已经提出了以下代码:
var $ = (function () {
var elements = [];
function methodOne() {
console.log('Method 1');
return this;
}
function methodTwo() {
console.log('Method 2');
return this;
}
return {
methodOne: methodOne,
methodTwo: methodTwo
};
}());
在页面加载时,
$
变量将由IIFE返回的jQuery克隆对象填充。我的问题是,如何在保持方法链功能不变的情况下,如何使
$
对象直接作为函数调用?现在,我可以使用
$.methodOne().methodTwo()
,但不能像jQuery一样使用$('some parameter').methodOne().methodTwo()
。 最佳答案
var $ = function (param) {
var elements = [];
console.log(param);
function methodOne() {
console.log('Method 1');
return this;
}
function methodTwo() {
console.log('Method 2');
return this;
}
return {
methodOne: methodOne,
methodTwo: methodTwo
};
};
$('This is a param').methodOne().methodTwo();