【发布时间】:2015-08-01 15:14:09
【问题描述】:
我正在尝试实现一个可链接的对象,但不知道如何在函数中做到这一点。
这就是我希望它的工作方式:
$donate.ga('testing').go(value);
我的对象目前看起来像这样:
var $donate = {
ga: function (value) {
}
};
【问题讨论】:
标签: javascript
我正在尝试实现一个可链接的对象,但不知道如何在函数中做到这一点。
这就是我希望它的工作方式:
$donate.ga('testing').go(value);
我的对象目前看起来像这样:
var $donate = {
ga: function (value) {
}
};
【问题讨论】:
标签: javascript
你只需要让每个函数都返回对象的实例:
var $donate = {
ga: function (value) {
// logic
return this;
}
};
【讨论】:
已经解决了here。您必须简单地在函数中返回对象。
【讨论】:
你需要像这样返回对象:
var $donate = {
ga: function (value) {
//after some computation
return this;
},
go: function(val) {
//after some computation
return this;
}
};
如果您不返回 this(这是对当前 Object 的引用),您要么返回 undefined 或其他内容,并且您在 Object 中定义的方法超出范围(unknown) .
【讨论】:
你必须在每个子函数中 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
}
};
【讨论】: