<script>
//作用域
var num = 1; //全局变量
function sayHi() { //函数作用域
var num = 10; //局部变量
var num1 = 999; //局部变量
b = 20; //没有声明,直接赋值是全局变量
console.log('我是sayHi函数内的' + num); // 10局部变量
}
console.log(num); // 1 全局变量
sayHi()
console.log(num1); // 报错,没有找到num1,num1是函数saiHi独有的
console.log(b); // 20 没有声明,直接赋值是全局变量
//作用域链,内部能往外部找,外部则不能调用内部。
var num = 520; //全局变量
function sayHi() { //外部函数
var num = 1;
console.log(a); //报错,找不到a变量、外部函数不能调用内部
function sayHello() { //内部函数
var a = 20;
console.log(num); //往外找num,所以等于1
}
}
console.log(num); //写在哪个作用域就在哪找,找到全局变量的520
</script>