为了账号安全,请及时绑定邮箱和手机立即绑定

javascript对象如何在this被改变(call,apply)的情况下获取自身属性?

javascript对象如何在this被改变(call,apply)的情况下获取自身属性?

素胚勾勒不出你 2019-04-14 10:21:39
有个函数接受一个包裹着几个回调函数的对象,而除此之外我还想传一些自定义的参数,在那些回调里会用到。最初想的是作为对象的属性:varoptions={callback:function(){console.log(this.a);}};xxxxx.func($.extend(options,{a:1}));但是回调函数执行的时候this会被改变,这样肯定就获取不到a了,有别的方法吗?如果没有的话我想只能把a包在闭包里,例如这样,不过又要新增一个函数:varconstructOptions=function(a){return{callback:function(){console.log(a);}}}xxxxx.func(constructOptions(1));实践了一下,这个闭包的方法也很不好,返回的对象必须是在construct函数里创建的,不然闭包也不会把a包进去
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

有什么问题呢?xxxxx.func函数是怎么调用的
varoptions={
callback:function(){
console.log(this.a);
}
};
//
xxxxx.func=function(object){
....
object.callback();
}
xxxxx.func($.extend(options,{a:1}));
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 630 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信