JS学习-作用域 & 全局局部变量 & 作用域链

作用域介绍:

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

 

简单的来讲就是代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性,更重要的是减少命名冲突

 

 

变量的作用域: 根据作用域的不同我们变量分为全局变量和局部变量

 

1. 全局变量: 在全局作用域下的变量 在全局下都可以使用

 

 

 

2. 局部变量: 在局部作用域下的变量 或者在函数内部的变量就是局部变量

 

 

 

 

 两者的执行效率对比:

从执行效率来看全局变量和局部变量

(1)全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
(2)局部变量 当我们程序执行完毕就会销毁,比较节约内存资源

 

 

作用域链:内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值 这种结构称之为作用域链 (就近原则)

 

习题1分析:

console.log(num) 站在目标出发  一层一层的往外去查找

 

 

 

 

画图分析:

 

 

习题2分析:

 

posted @ 2021-08-17 10:32  幼兒园扛把子  阅读(111)  评论(0)    收藏  举报