我正在檢查凱爾的辛普森書「你不知道JS:這個&對象原型」的代碼,並堅持代碼示例,它寫在下面。javascript currying參數與.bind()方法
難道有人可以解釋一下,在執行var bar = foo.bind(null, 2);
段代碼後,bar變量如何將「a」參數保存爲2並保存該保存的參數,以及爲什麼bar(3);
代碼執行時不會覆蓋參數?
function foo(a, b) {
console.log(a, b);
console.log("a:" + a + ", b:" + b);
}
foo.apply(null, [1, 10]);
var bar = foo.bind(null, 2);
bar(3);
它在bind'的'定義:*在'綁定()'方法創建一個,當所謂的新功能,將其''this'關鍵字設置爲提供的值,並在調用新函數時提供給定的**參數序列前的任何**參數***它只是它的作用。它在內部究竟如何是無關緊要的。 – deceze
調試時,我發現我可以通過執行bar.call('BoundArgs')'代碼通過原型訪問bar params。 – tawreon
你能證明一下究竟是什麼結果,以及你如何「訪問」參數? – deceze