我正在尝试实现一个可链接的对象,但无法弄清楚如何在函数中执行此操作。
这就是我希望它的工作方式:
$donate.ga('testing').go(value);
我的对象目前看起来像这样:
var $donate = {
ga: function (value) {
}
};
答案 0 :(得分:4)
您只需要让每个函数返回对象的实例:
var $donate = {
ga: function (value) {
// logic
return this;
}
};
答案 1 :(得分:0)
它已经解决了here。您必须简单地返回函数中的对象。
答案 2 :(得分:0)
您需要像这样返回Object:
var $donate = {
ga: function (value) {
//after some computation
return this;
},
go: function(val) {
//after some computation
return this;
}
};
如果你没有返回(这是对当前Object的引用),你要么返回undefined,要么返回你的对象中定义的方法只是超出范围(未知)。
答案 3 :(得分:0)
在关闭之前,你必须在每个子功能中return this;
。
例如
你的代码
var $donate = {
ga: function (value) {
//perform your code here
return this; // <--- Dont forget to use this before closing the function nest
},
go: function(val) {
//perform your code here
return this; // <--- Dont forget to use this before closing the function nest
}
};