使用参考对象与使用JavaScript's .bind()相比有哪些优缺点?是否有一些案例(现实世界或理论上)可能是最优的?
这是一个简单的例子......
var obj = {
message : "Hello World"
,buttonElt : document.getElementById('myButton')
,init : function(){
// A --- Using a reference object so the function can reference this obj
var o = this;
buttonElt.addEventListener("click", function(){
alert(o.message);
}, false);
// B --- using .bind to send this obj
buttonElt.addEventListener("click", function(){
alert(this.message);
}.bind(this), false);
}
}
obj.init();