js 中对象函数中this引用问题。来给力大神求教解决办法。

functionpeo(){varout=function(){//...此处代码封装不做修改returnthis.a;}this.a=1;//this.o=out;th... function peo(){
var out=function(){
//...此处代码封装不做修改
return this.a;
}

this.a=1;
//this.o=out;
this.out=function(){
//var n=this.o(); //此种方式可行 但增加了个属性
//delete this.o;
var n=out();
alert(n);
return this.a+n;
}
}
var p=new peo();
//alert(p.o); 此处能输出结果 说明增加了属性
alert(p.out());//只希望p对象只包含a和out两个属性 不可增加属性的情况输出结果
//alert(p.o)
最终要求能输出结果 同时不能增加p对象属性 不能修改var out=function(){...}里面的代码 求指导
展开
 我来答
百度网友5c69cfc
2013-11-11 · TA获得超过238个赞
知道小有建树答主
回答量:325
采纳率:100%
帮助的人:227万
展开全部
// out 为函数,它内部的this为空。
// call 重写this 
var n=out.call(this);
alert(n);
return this.a+n;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式