我試圖解決https://twitter.com/secoif/status/730207047892017153當我收到一條錯誤消息,我不明白。運行此代碼無法映射綁定到陣列
const fns = [
function() {
console.log(1)
},
function() {
console.log(2)
},
function() {
console.log(3)
}
]
fns.map(Function.prototype.call.bind)
鉻告訴我,這一點我不明白「綁定必須在函數調用」當我得到的錯誤。下面這行應該是等效的,不會拋出相同的錯誤。
fns.map((x) => Function.prototype.call.bind(x))
相關[如何將原型上定義的方法傳遞給Array.map作爲回調](http://stackoverflow.com/questions/33006222/how-to-pass-the-method-defined-on-prototype-to -array-map-as-callback) – Tushar
@Tushar有趣,但如果原因是map傳遞了兩個參數,我看不到爲什麼'fns.map((x,y)=> Function.prototype.call.bind (x,y))'會起作用 – xuanji
'bind'沒有綁定到'call'。如果你想做'fns.map(Function.prototype.bind,Function.prototype.call)'而不是'fns.map(Function.prototype.bind.bind(Function.prototype.call))'更喜歡那個) – Bergi