前端每日一題#13

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

評論
圖片
表情
