日期:2014-05-16 浏览次数:20375 次
function myClass(){ this.a = "fuck you"; //这里定义成员a给下面的函数使用 } myClass.prototype = { b:function(){ function d(){ alert(this.a); //请问这里如果引用上面定义的变量a弹出fuckyou?同时还要在这里用this.a = "shit";达到修改上面的变量a的效果 } d(); } } var obj = new myClass(); obj.b();
function myClass(){ this.a = "origin"; } myClass.prototype = { b:function(){ function d(obj){ alert(obj.a); obj.a='new'; } d(this); alert(this.a); } } var obj = new myClass(); obj.b();
------解决方案--------------------
function myClass(){
this.a = "fuck you"; //这里定义成员a给下面的函数使用
}
myClass.prototype =
{
b:function(){
var that = this;
function d(){
alert(that.a); //请问这里如果引用上面定义的变量a弹出fuckyou?同时还要在这里用this.a = "shit";达到修改上面的变量a的效果
}
d();
}
}
var obj = new myClass();
obj.b();