广州网站设计开发,福建省城乡建设信息网站,个人免费空间申请,qq恢复官方网站作用域
隔离变量的集合 作用域最大的用处就是隔离变量#xff0c;不同作用域内的同名变量不会有命名冲突。
作用域类型
全局作用域#xff0c;函数作用域和块级作用域。 1#xff09;全局作用域#xff0c;在整个代码文件中都可以访问的作用域。 2#xff09;函数作用域…作用域
隔离变量的集合 作用域最大的用处就是隔离变量不同作用域内的同名变量不会有命名冲突。
作用域类型
全局作用域函数作用域和块级作用域。 1全局作用域在整个代码文件中都可以访问的作用域。 2函数作用域函数内部的变量和函数只能在函数内部访问。 3块级作用域块级作用域由{}包裹if 和 for 语句也是块级作用域。在块级作用域中用let和const声明变量在块级作用域外无法进行访问。
let var 和 const 的区别
1.var 定义的变量没有块的概念有变量提升可以跨块访问在声明前使用会报undefined。 2. let 定义的变量有块的概念只能在作用域内访问不能跨块跨函数访问不存在变量提升不2可以重复声明在声明前使用会报错存在暂时性死区。 3. const 定义的变量必须初始化存正在块的概念赋值后不能更改如果赋值是引用类型的值引用的值本身可以发生改变。
作用域链
当查找变量时首先会在当前执行上下文的变量对象中进行查找如果查找不到会向上一级的执行上下文的变量对象中进行查找如果没有找到会一直向上进行查找直至全局作用域中的全局变量对象。这样由多个执行上下文的变量对象构成的链表就是作用域链。
参考文献
「历时8个月」10万字前端知识体系总结基础知识篇