怎样理解全局作用域和函数作用域

前言: 全局作用域下声明的变量再其他作用域下也可以使用, 但函数作用域下声明的变量, 无法在全局作用域下使用.

var name1 = "Lilei";
function fn() {
    var name2 = "Hanmeimei";
    console.log(name1);
    console.log(name2); 
}

fn(); 
// "Lilei"
// "Hanmeimei"

console.log(name2); // Error: undefined;

注意: ES5 中没有块级作用域, 因此在全局作用域下的if 或 for 或 {} 中声明的变量都是全局变量, 如果if 或 for 或 {} 在函数作用域中, 则在其内部声明的变量可以在函数作用域中使用;

原文地址:https://www.cnblogs.com/aisowe/p/11634879.html