前端每日一题#13
前端人
共 1245字,需浏览 3分钟
·
2021-03-13 08:24
关注公众号 前端人,回复“加群”
添加无广告优质学习群
昨日题目
请问以下代码输出什么,为什么?
try {
(async function() {
a().b().c()
}
)()
} catch (e) {
console.log(`执行出错:${e.message}`)
}
A、执行出错:a is not defined
B、(in promise) a is not defined
C、a is not defined
解析:
选B
这道题目主要三个考点:
执行一个没有定义的函数会发生什么 在 async 内部发生报错会发生什么 try catch 只能捕获同步代码的异常 因此答案就明了了。 因为我们执行了一个未定义的函数,所以会报错 a is not defind,又因为是在 async 中,所以报错信息会显示 in promise。最后 try cathch 只能捕获同步代码的抛错,因为是 async,所以走不到 catch 里面。
如果我们把代码这样改一下就可以了:
try {
await (async function() { a().b().c() })()
} catch (e) {
console.log(`执行出错:${e.message}`)
}
今日题目
关于 this
的工作原理,下面 4 种情况的描述哪一个是错误
的?( )
A、在全局范围内,this
指向全局对象(浏览器下指window
)
B、对象函数调用时,this
指向当前对象
C、全局函数调用时,this
指向全局函数
D、使用new
实例化对象时,this
指向新创建的对象
玩法介绍
评论区给出你的答案,并且帮忙点个在看
,每天的每日一题答案由下一天给出,欢迎参与每日一题,一周连续答对5题者,周六鬼哥抽取送爱奇艺会员一个
题库小程序
最后
大家记得关注公众号后,置顶公众号
,才能第一时间接收前端每日一题
的文章推送
回复 资料包
领取我整理的进阶资料包回复 加群
,加入前端进阶群console.log("文章点赞===文章点在看===置顶公众号")
Bug离我更远了,下班离我更近了
评论