有個(gè)函數(shù)接受一個(gè)包裹著幾個(gè)回調(diào)函數(shù)的對(duì)象,而除此之外我還想傳一些自定義的參數(shù),在那些回調(diào)里會(huì)用到。最初想的是作為對(duì)象的屬性:varoptions={callback:function(){console.log(this.a);}};xxxxx.func($.extend(options,{a:1}));但是回調(diào)函數(shù)執(zhí)行的時(shí)候this會(huì)被改變,這樣肯定就獲取不到a了,有別的方法嗎?如果沒有的話我想只能把a(bǔ)包在閉包里,例如這樣,不過又要新增一個(gè)函數(shù):varconstructOptions=function(a){return{callback:function(){console.log(a);}}}xxxxx.func(constructOptions(1));實(shí)踐了一下,這個(gè)閉包的方法也很不好,返回的對(duì)象必須是在construct函數(shù)里創(chuàng)建的,不然閉包也不會(huì)把a(bǔ)包進(jìn)去
javascript對(duì)象如何在this被改變(call,apply)的情況下獲取自身屬性?
素胚勾勒不出你
2019-04-14 10:21:39