以下是簡單的代碼:var name = " Window";var o = {name : "Object",
getName : function(){ return function(){ return this.name;
};
}};var a = o.getName;a()();var c = o.getName()();var o1 = {name : "My Object",
getName : function(){ var that = this; return function(){ return that.name;
};
}};var d = o1.getName()();var e = o1.getName;e()();請問1 :var c = o.getName()()中在運行o.getName()時,this的指向還是o,為什么o.getName()()時,this的指向就成了window?請問2 :var a = o.getName;a()();這種方式和o.getName()()有什么區別?
閉包中this指向問題
SMILET
2018-10-19 10:22:13