/*
在ES5中,顶层对象的属性和全局变量是等价的,var命令和function命令声明的全局变量,自然也 是顶层对象
*/
var a = 12;
function func(){};
console.log(window.a);
console.log(window.func);
/*
但ES6规定,var命令和function命令声明的全局变量,依旧是顶层对象,
而let和const、class命令声明的全局变量,不属于顶层对象的属性;
ES6中,let和const声明的变量,会在独立的作用域内。无法通过window调用获取。
*/
// var a = 1; // window.a 1
let aa = 11; // window.aa undefined
const aaa = 111; // window.aaa undefined