前端每日一題#13

關(guān)注公眾號(hào) 前端人,回復(fù)“加群”
添加無廣告優(yōu)質(zhì)學(xué)習(xí)群
昨日題目
請(qǐng)問以下代碼輸出什么,為什么?
try {
(async function() {
a().b().c()
}
)()
} catch (e) {
console.log(`執(zhí)行出錯(cuò):${e.message}`)
}A、執(zhí)行出錯(cuò):a is not defined
B、(in promise) a is not defined
C、a is not defined
解析:
選B
這道題目主要三個(gè)考點(diǎn):
執(zhí)行一個(gè)沒有定義的函數(shù)會(huì)發(fā)生什么 在 async 內(nèi)部發(fā)生報(bào)錯(cuò)會(huì)發(fā)生什么 try catch 只能捕獲同步代碼的異常 因此答案就明了了。 因?yàn)槲覀儓?zhí)行了一個(gè)未定義的函數(shù),所以會(huì)報(bào)錯(cuò) a is not defind,又因?yàn)槭窃?async 中,所以報(bào)錯(cuò)信息會(huì)顯示 in promise。最后 try cathch 只能捕獲同步代碼的拋錯(cuò),因?yàn)槭?async,所以走不到 catch 里面。
如果我們把代碼這樣改一下就可以了:
try {
await (async function() { a().b().c() })()
} catch (e) {
console.log(`執(zhí)行出錯(cuò):${e.message}`)
}今日題目
關(guān)于 this 的工作原理,下面 4 種情況的描述哪一個(gè)是錯(cuò)誤的?( )
A、在全局范圍內(nèi),this指向全局對(duì)象(瀏覽器下指window)
B、對(duì)象函數(shù)調(diào)用時(shí),this指向當(dāng)前對(duì)象
C、全局函數(shù)調(diào)用時(shí),this指向全局函數(shù)
D、使用new實(shí)例化對(duì)象時(shí),this指向新創(chuàng)建的對(duì)象
玩法介紹
評(píng)論區(qū)給出你的答案,并且?guī)兔c(diǎn)個(gè)在看,每天的每日一題答案由下一天給出,歡迎參與每日一題,一周連續(xù)答對(duì)5題者,周六鬼哥抽取送愛奇藝會(huì)員一個(gè)
題庫(kù)小程序
最后
大家記得關(guān)注公眾號(hào)后,置頂公眾號(hào),才能第一時(shí)間接收前端每日一題的文章推送
回復(fù) 資料包領(lǐng)取我整理的進(jìn)階資料包回復(fù) 加群,加入前端進(jìn)階群console.log("文章點(diǎn)贊===文章點(diǎn)在看===置頂公眾號(hào)")Bug離我更遠(yuǎn)了,下班離我更近了

評(píng)論
圖片
表情
