我刚刚开始使用javascript中的方法链接概念。我知道链接方法返回this
,但我在这里使用揭示模块模式。如果没有方法链接,则Javascript返回值
代码:
var currency = (function(){
var rates = {
INR: 64.10
};
function convert(value){
return value * rates["INR"];
//"return this"? and also get the return value (if no chained mathods) ?
}
function format(){
return this.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
}
return {
convert: convert,
format: format
}
})();
,我会打电话的功能,在两种不同的方式。
- currency.convert(100); // 6410;现在它返回率,这是 预计
- currency.convert(1000).format(); // 64100;这是预期
但问题是,如果我return this;
从convert
功能如何将#1是可能的吗?如果我不从convert
返回this
函数方法链接将不可能。
Q:convert()
在这种模式下的函数应该能够执行转换并返回值,如果没有请求链接并且应该能够执行链接?
如果格式函数错误,请忽略。
这种模式不适合链接 –
,我曾经听到的唯一一个做这样的事情是'lodash'链,它使用包装来链接一些方法。 – MinusFour
你不需要“揭示模块模式”。 ES6有实际的模块。使用它们。关于链接,链式时尚已经结束。没有人这样做。它基本上与jQuery一起消亡。 – 2017-08-26 05:05:42