这段javascript函数为什么访问不了变量_this
functionFull(){var_this=this;_this.a();}Full.prototype.a=function(){console.log(_this...
function Full(){
var _this=this;
_this.a();
}
Full.prototype.a=function(){
console.log(_this);//报错了!,上面不是声明过_this了吗?
}
var a=new Full();
而下面这段又不报错的:
function Full(){
var _this=this;
_this.a();
}
Full.prototype.a=function(){
console.log(this);//这样就不报错
}
var a=new Full(); 展开
var _this=this;
_this.a();
}
Full.prototype.a=function(){
console.log(_this);//报错了!,上面不是声明过_this了吗?
}
var a=new Full();
而下面这段又不报错的:
function Full(){
var _this=this;
_this.a();
}
Full.prototype.a=function(){
console.log(this);//这样就不报错
}
var a=new Full(); 展开
1个回答
展开全部
function Full(){
var _this=this;
_this.a();
}
这样的定义中,_this只是函数Full的一个私有变量,想要通过实例来访问,需要定义成:
function Full(){
this._this=this;
this._this.a();
}
同时,访问的时候,也要通过实例访问:
Full.prototype.a=function(){
console.log(this._this);//这样就不报错
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询