javascript Function.call中的this指向問題

科技 未結(jié) 1 670
szxqq
szxqq 2023-05-28 16:11

已知如下代碼:

var foo = 1; var bar = 10;function a (arg, func) { this.foo = arg + this.bar; func(this.foo); }var b = { foo: 100, bar: 1000 };a.call(b, 10000, function(x) { console.log(this.foo + x); });

問: 該代碼執(zhí)行后控制臺打印結(jié)果是什么?分析產(chǎn)生該結(jié)果的原因。

我本來以為執(zhí)行結(jié)果會是22000,因為直接把call中的參數(shù)帶入函數(shù)a后是:

function a (arg, func) { this.foo = arg + this.bar; console.log(this.foo + this.foo); }

然后由于arg = 10000,b.foo = arg + b.bar = 10000 + 1000 = 11000,11000 + 11000 = 22000.

但是執(zhí)行結(jié)果卻是11001,也就是說console.log里的this指向的是window,對此我表示不解,既然這個function是作為a的參數(shù)帶入的,既然athis被指向了b,為什么這里的this不會指向b呢?希望各位高手解惑。另外,如果這個this不指向b,有沒有什么方法在仍使用this.foo的情況下將這個this指向b?

相關(guān)標簽:
1條回答
  • 因為你在傳func的時候沒指定this,傳了一個匿名函數(shù),然后在a里面直接執(zhí)行了沒指定this,在非嚴格模式下,this指向window。

    0 討論(0)
提交回復(fù)
最新問題
長虹65寸8k電視機用的什么芯片? 2
康佳電視后面字母各代表什么意思 3
輸卵管不通中醫(yī)如何治療 1
tcl電視突然看不了電視 4
vivo Origin Ocean、鴻蒙OS、MIUI 13,誰的流暢度更高? 9
雷鳥電視屏幕有層膜 1
三鏡一絲檢查費用多少 1
酷開電視怎么投屏 4
無排卵性不孕 1
他達拉非正常人吃有作用嗎?有沒有用過的談?wù)剬嵲诟杏|? 1
猜你喜歡
2025第三代試管嬰兒價目表?到底需要多少錢!
濰坊1、2號三代試管嬰兒費用明細分享,內(nèi)附試管周期!
【生娃寶典】想生孩子怎么備孕比較好?費用這一塊呢?
呼和浩特試管嬰兒123代費用大概是多少?如何降低價格呢?
福建南平試管嬰兒的成功幾率能達到多少!價格花費一覽!
廈門做試管去哪個醫(yī)院比較好!明細是怎樣的!
現(xiàn)在濟南做試管嬰兒要多少錢,過程是怎樣的!
上海試管嬰兒的費用究竟是多少錢?收費標準有嗎?
廈門做三代試管嬰兒比較好的私立機構(gòu)有哪幾家?廈門人人都知道這家
2025年國內(nèi)輔生殖技術(shù)費用概覽!15萬費用貴嗎?
熱門文章
2025年泰國未婚做試管的機構(gòu)預(yù)約流程
2025沈陽十大三代試管私立機構(gòu)名單整理,比較可靠還屬前五家
國內(nèi)三代試管嬰兒全過程
西安都有哪些正規(guī)助孕機構(gòu)?2025西安助孕公司前十匯總
廣州沒領(lǐng)結(jié)婚證可以做試管生子嗎?一般多少錢?
泰國試管嬰兒成功率高的醫(yī)院是哪家?
在山東做試管嬰兒怎么找私立醫(yī)院?附推薦醫(yī)院聯(lián)系方式
單身人士泰國做試管嬰兒的醫(yī)院清單
上海做三代試管去哪家私立醫(yī)院?權(quán)威推薦榜單一覽
2025深圳私立試管機構(gòu)推薦名單一覽,選擇適合自己的是關(guān)鍵
廣州市做試管醫(yī)院:廣州做試管比較好的醫(yī)院排名
一次講清!四五月份試管成功率高嗎
“答疑解惑”沈陽最出名試管醫(yī)院排名第一是哪家
【速戳】安徽三代試管懷孩子助孕機構(gòu),安徽試管嬰兒費用大概要多少錢
濰坊私立機構(gòu)做三代試管費用參考,清楚了解各環(huán)節(jié)費用
合肥生殖三代試管嬰兒醫(yī)院怎么樣
馬來西亞是合法的嗎?
內(nèi)蒙古機構(gòu)三代試管嬰兒收費普遍貴嗎?
西安市私立醫(yī)院三代試管靠譜嗎?
格魯吉亞試管嬰兒的條件解析,國內(nèi)外患者選擇的優(yōu)劣比較
哈薩克斯坦做試管嬰兒的技術(shù)那呢?和國內(nèi)有什么區(qū)別?
揭秘移植兩個胚胎只成功一個的原因,胚胎質(zhì)量不佳是關(guān)鍵
女性絕經(jīng)與不絕經(jīng)試管懷孕的可能性
試管嬰兒減胎手術(shù)的方式?試管嬰兒減胎手術(shù)的風險?
生育津貼與停保有關(guān)且影響大,三種情況中斷后不再享受
廣告合作方 廣告申請