0%

JS作用域

作用域
  1. 全局作用域:函数外部的作用域
  2. 局部作用域:函数内部的作用域
全局作用域
1
2
3
4
5
var outer = 'outer';
function fn(){
console.log(outer);
}
fn(); //outer
局部作用域
1
2
3
4
5
function fn(){
var inner= 'inner';
}
fn();
console.log(inner); //undefined
变量提前声明
1
2
3
4
5
6
7
var global = 'global';
function fn(){
console.log(global); //undefined
var global = 'newGlobal';
console.log(global); //newGlobal
}
console.log(global); //global

相当于:

1
2
3
4
5
6
7
8
var global = 'global';
function fn(){
var global; //提前声明了局部变量;
console.log(global); //undefined
var global = 'newGlobal';
console.log(global); //newGlobal
}
console.log(global); //global