Re: [請益] 該怎麼理解javascript的bind?

作者: TonyQ (自立而後立人。)   2016-09-08 16:46:10
※ 引述《peanut97 (丁丁)》之銘言:
: 小弟在看Facebook教學頁面學習React.js
: 常常看到bind寫法。
: http://imgur.com/53W47na
: ref:
: https://facebook.github.io/react/docs/thinking-in-react.html
: google了一下,依然有看沒有懂。
: 請問有簡單解釋bind的教學頁面嗎?
理論上這應該到 ajax 版問啦...
var mybaseFunction = function(str1,str2){
this.log(str1,str2);
}
var consoleHelloFunction = mybaseFunction.bind(console,"Hello");
/*
上面這行等價於
consoleHelloFunction = function(str){
return mybaseFunction.apply(console,["Hello",str]);
}
*/
consoleHelloFunction("world");
作者: Luos (Soul)   2016-09-08 17:28:00
console 是什麼?
作者: hcmlinj (接米)   2016-09-08 17:41:00
請教如果mybaseFunction是用arrow function如何bind呢?var mybaseFunction=(str1,str2) => this.log(str1,str2)
作者: DDR678 (678)   2016-09-08 17:57:00
作者: clonn   2016-09-08 19:11:00
console ~= c 的 printfmybaseFuction.bind ... 用法同內文
作者: mister12 (zzzz)   2016-09-08 19:37:00
請問bind的優點是什麼呢?
作者: CaptainH (Cannon)   2016-09-08 20:02:00
作用就是彌補js可笑的this設計this 完全可以放到參數列表裡一舉消去了複雜性,更免去了bind call apply 等等冗餘函數
作者: CRPKT (crpkt)   2016-09-08 22:26:00
沒有 this 物件模形怎麼做呢
作者: y3k (激流を制するは静水)   2016-09-08 23:41:00
Java跟JavaScript真的是狗跟熱狗啊....
作者: CoNsTaR ((const *))   2016-09-08 23:52:00
不過會有 this 的問題是不是因為把該是 member 的做成了free function 呢?完全不懂 javascript 還請指教
作者: TSW (翹班帝國)   2016-09-09 04:34:00
樓上不要在這邊問啦,去 ajax 版問
作者: Luos (Soul)   2016-09-09 14:53:00
多謝這篇解決我多年的疑惑

Links booklink

Contact Us: admin [ a t ] ucptt.com