1
對於回調accesing「這」一parrent的,我們主要使用兩種常見模式:的參數模式(一個新的想法與綁定與自我/該模式)
(1) - 的是(自我,我..)模式:
this.something = "hello";
var that = this;
var callback = function(){
console.log(that.something); // hello
};
callback();
(第2) - 綁定模式:
this.something = "hello";
var callback = function(){
console.log(this.something); // hello
}.bind(this);
callback();
..但今天我已經想通了,我們實際上還可以使用與參數的模式,那就是清潔,compatibile和工作,以及:
this.something = "hello";
var callback = function(self){
console.log(self.something); // hello
};
(callback)(this);
的優勢是顯而易見的:
- 無需進行過多inheritation
- 很簡單的語法和可讀性
- 兼容性(與像IE6瀏覽器)
- 有些功能法(這是唯一參數)
,你對此怎麼看?
SO不是基於輿論的問題。 'callback.call(this)'似乎是一個更好的方法來做同樣的事情。 – joews
一切都是一種看法。在過去的10年中,我還沒有看到過這種通用和完美的解決方案;) –