这么说吧:
var method = function(number) {
this.number = number;
this.add = function(param) {
this.number = this.number + param;
return this
}
this.multiply = function(param) {
this.number = this.number * param;
return this.number
}
}
如果我这样做:
var newMeth = new method(2);
var result = newMeth.add(2).multiply(2);
console.log(result) // Will return 8
但我主要关心的是我是否想做:
var newMeth = new method(2);
var result = newMeth.add(2);
I would like to know how it would be possible in that case that result return me "4" instead of
method {number: 4, add: ƒ, multiply: ƒ}
但如果我这样做,仍然返回我 8
var result = newMeth.add(2).multiply(2);
如有任何帮助,我们将不胜感激。谢谢大家。
最佳答案
您可以在链上定义返回数字的 val()
方法,并按如下方式使用它:
var result = newMeth.add(2).multiply(2).val();
// OR
var result = newMeth.add(2).val();
// OR
var result = newMeth.val();
关于javascript - JS 中的方法链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58692220/