这节课中老师的浏览器版本是不是太低了,实际操作中js也有块级作用域

这节课中老师的浏览器版本是不是太低了,实际操作中js也有块级作用域

ES6后已经支持块级作用域了,是浏览器的版本的原因吗?

下面代码报错:变量a没有定义

<!doctype html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>练习</title>
    <script>
        if (true) {
            let a = 1;
        }
        console.log(a);
    </script>
</head>
<body>

</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!是的,es6 支持块级作用域,块级作用域,只在块内部起作用,变量 a 只能在 if 语句中使用,if 语句外访问不到 a

https://img1.sycdn.imooc.com//climg/64be3ac409084bea05880237.jpg


可将块级的变量 a,提升为全局声明,这样在 if 语句外可以访问到 a

https://img1.sycdn.imooc.com//climg/64be3b7e09be0f7e05530268.jpg

祝:学习愉快!

  • Mr朱_ 提问者 #1

    我想知道的是什么情况下浏览器支持ES6+,什么情况下不支持

    2023-07-24 19:52:57
  • 好帮手慕小猿 回复 提问者 Mr朱_ #2

    同学,你好!与浏览器版本有关。有的浏览器版本支持部分ES6新特性,有的浏览器版本不支持es6特性。同学可查看网址:http://kangax.github.io/compat-table/es6/

    查看不同浏览器兼容es6的版本有哪些

    如:chrome113版支持所有es6特性


    https://img1.sycdn.imooc.com//climg/64bf2e00092eee1e18900792.jpg

    祝学习愉快~

    2023-07-25 10:06:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师