2个代码片段之间有区别吗?
由于foo
是 的成员函数obj
,this
因此将引用obj
自身(方法调用模式)。
1.
var obj = {};
obj.prop = some_property;
obj.foo = function() {
do_something_with(obj.prop);
};
2.
var obj = {};
obj.prop = some_property;
obj.foo = function() {
do_something_with(this.prop);
};
我正在处理的一个应用程序在我使用方法2时不断崩溃。
代码类似于:
obj = {};
obj.listener = {
eventprocess : function(param) {
//some code
}
};
obj.init = function() {
this.a = library_func();
this.a.add_listener(this.listener);
};
当我使用方法1时它起作用了。
任何想法为什么?