首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >选择篇(046)-下面代码的输出是什么?

选择篇(046)-下面代码的输出是什么?

作者头像
齐丶先丶森
发布2022-05-12 21:39:27
发布2022-05-12 21:39:27
1910
举报
文章被收录于专栏:前端面试秘籍前端面试秘籍
代码语言:javascript
复制
(() => {
  let x, y;
  try {
    throw new Error();
  } catch (x) {
    (x = 1), (y = 2);
    console.log(x);
  }
  console.log(x);
  console.log(y);
})();
  • A: 1 undefined 2
  • B: undefined undefined undefined
  • C: 1 1 2
  • D: 1 undefined undefined
答案: A

catch块接收参数x。当我们传递参数时,这与变量的x不同。这个变量x是属于catch作用域的。

之后,我们将这个块级作用域的变量设置为1,并设置变量y的值。现在,我们打印块级作用域的变量x,它等于1

catch块之外,x仍然是undefined,而y2。当我们想在catch块之外的console.log(x)时,它返回undefined,而y返回2

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端面试秘籍 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 答案: A
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档