JS 作用域;变量;(待完善)

JS 作用域

定义:代码名字的有效范围

目的:提高代码可靠性,避免命名冲突

 

辨析:

全局作用域:范围 == 整个Script 标签 | 单独的JS 文件

局部作用域(函数作用域):在函数内部有效

不同作用域下,变量名可重复,且都有效;全局作用域的变量名在局部作用域内是有效的;

函数外部无法访问函数内部的变量(因为,函数内部的变量,在函数执行完毕以后,就会被释放掉);

函数内部,直接赋值的变量 = 全局变量, 例如:num = 10,没有 var; 

 

全局变量:只有关闭浏览器时才会被销毁,占内存资源

局部变量:当程序执行完毕就会销毁,节约内存

 

  1. 块级作用域:用{}包起来的区域, = 块级作用域
  2. if (){} 内部声明的变量,If 之外也是可以使用的

 

作用域链:

函数嵌套,内部函数访问外部函数的变量,采取的是链式查找的方式

遵循就近原则, 只要上一级该变量有值,则去上一级,不会继续找更多层次的值

 

(以上内容参考如下文章优化)

https://www.cnblogs.com/signheart/p/3ca2afaca43d2dc69ce72c862a3ae81c.html

 

posted @ 2020-04-01 15:53  wsh1995  阅读(139)  评论(0编辑  收藏  举报