JavaScript—作用域
JavaScript作用域:
就是代码名字(变量)在某个范围内起作用和效果。目的是/为了提高程序的可靠性同时减少命名冲突。
JavaScript作用域在(es6)之前:全局作用域和局部作用域。
全局作用域:整个Script标签或者一个单独的js文件。
局部作用域:在函数内部就是局部作用域。这个代码名字只在函数内部起效果和作用。(函数的形参也是局部变量)
作用域
var num = 1; // 全局变量
function fn() {
num1 = 0; // 在函数内部中没有声明直接赋值的变量也属于全局变量
var num2 = 2;
console.log(num);
}
fn();
console.log(num1);
console.log(num2); // num2是局部变量不能全局调用只能在函数内部使用
作用域链
var num = 0;
function fn0() { // 外部函数
var num = 1;
function fn1() { // 内部函数
console.log(num); //向上一层寻找num,找不到就继续向上
}
fn1();
}
fn0();