我剛剛開始使用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