我在原型中创建了一个对象,我尝试使用this
从构造函数中访问变量,但警报返回undefined
。
构造
function Example() {
this.param1 = 'test';
}
原型
Example.prototype = {
constructor: Example,
obj: {
sample:function() {
alert(this.param1); // error undifined
}
}
};
实例化
var o = new Example();
o.obj.sample();
非常感谢任何建议。
答案 0 :(得分:2)
你可以这样做
function Example() {
this.param1 = 'test';
}
Example.prototype = {
constructor: Example,
obj: {
sample:function(){
alert(this.param1); // error undifined
}
}
};
var o = new Example();
o.obj.sample.call(o); // <--- I use "call" to supply the context. In this case, the context would be "o"
// or
o.obj.sample.bind(o)(); // or "bind" the context, in this case "o"