JavaScript作用域
1.Javascript作用域:
就是代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突
2.js的两种作用域(es6)之前 :
1.全局作用域:
整个script标签 或者是一个单独的js文件
2.局部作用域
在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用
3.两种变量作用域
1.全局变量:
1.在全局作用域下的变量 在全局下都可以使用
2.注意 如果在函数内部 没有声明直接赋值的变量也属于全局变量
2.局部变量
在局部作用域下的变量,在函数内部的变量就是局部变量
函数的形参也可以看做一个局部变量
var num = 10;// num就是一个全局变量
function fun(){
var num1 = 10;// 就是局部变量 只能在函数内部使用
num2 = 20;// 全局变量
}
3.js没有块级作用域
4.执行效率
5.作用域链
内部函数访问外部函数的变量,采取的链式查找的方式决定取那个值,这种结构我们成为作用域链
(就近原则)