作用域
1、js中没有块级作用域
2、如果有块级作用域,那么下面代码将会是undefined undefined
<script> ???for (var i = 0; i < 10; i++) { ???????var num = i; ???} ???console.log(i); ???console.log(num);</script>
词法作用域
1、就是在代码写好的那一刻,变量的作用域就已经确定了,这种作用域,就是所谓的词法作用域
2、和词法作用域相对的叫动态作用域 ,js中是词法作用域不是动态作用域
3、在JS中唯一能产生作用域的是函数
词法作用域规则
1、函数允许访问函数外的数据
2、整个代码结构中只有函数可以限定作用域
3、作用域规则首先使用提升规则分析
4、如果当前作用域中有了该变量, 就不考虑外面的同名变量
JS高级——作用域
原文地址:https://www.cnblogs.com/wuqiuxue/p/8341122.html