让我们想象一下这样的函数:
function foo(x) {
x += '+';
return x;
}
它的使用类似于:
var x, y;
x = 'Notepad';
y = foo(x);
console.log(y); // Prints 'Notepad+'.
我正在寻找一种方法来创建与其他函数链接的函数。
想象一下用法:
var x, y;
x = 'Notepad';
y = x.foo().foo().toUpperCase(); // Prints 'NOTEPAD++'.
console.log(y);
我该怎么做?
发布于 2018-06-25 09:06:52
如果我没记错的话,可以使用“this”作为函数(它所属的对象)的上下文,并返回它以使函数可链接。换言之:
var obj =
{
f1: function() { ...do something...; return this;},
f2: function() { ...do something...; return this;}
}
发布于 2018-06-25 10:31:29
当然,诀窍是在修改完对象之后返回它:
String.prototype.foo = function() {
return this + "+";
}
var str = "Notepad";
console.log(str.foo().foo().toUpperCase());
https://stackoverflow.com/questions/-100004960
复制相似问题