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