0
看看這裏給出的例子(http://underscorejs.org/#wrap),我真的不明白wrap是在做什麼......更重要的是,當函數被「包裝」時,感覺參數必須被設置(例如,關於什麼做你好(「約翰」)?有沒有其他的例子可以解釋包是怎麼一回事?這將是一個典型的用例呢? 謝謝! ç下劃線包裝功能是做什麼的?
看看這裏給出的例子(http://underscorejs.org/#wrap),我真的不明白wrap是在做什麼......更重要的是,當函數被「包裝」時,感覺參數必須被設置(例如,關於什麼做你好(「約翰」)?有沒有其他的例子可以解釋包是怎麼一回事?這將是一個典型的用例呢? 謝謝! ç下劃線包裝功能是做什麼的?
_.wrap()
可以接受比其他回調函數的詳細參數例如,要使您的hello('John')
示例能夠正常工作,我們需要對示例代碼進行一些修改:
var hello = function(name) { return "hello: " + name; };
hello = _.wrap(hello, function(func,name) {
return "before, " + func(name) + ", after";
});
hello('John');
感謝您的回覆。現在更清楚了。我的理解是,wrap中的回調函數的簽名是與作爲wrap中的第一個參數傳遞的函數相對應的。 – Christian68
不,回調是不同的,它可以接受比原函數更多的參數,函數'hello'是回調'func'中的第一個參數,請查看https://jsfiddle.net/engmzizo/14ykdr3e/ – Ezzat