全局对象的属性:
全局对象是最顶层的对象,在浏览器环境指的是window对象,在Node.js指的是global对象。在javascript语言中,所有全局变量都是全局对象的属性。(Node的情况比较特殊,这一条只对repl环境适用,模块环境必须显示声明成global的属性。)
ES6规定,var命令和function命令声明的全局变量,属于全局对象的属性;let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全局变量属性</title>
<script src="traceur.js"></script>
<script src="bootstrap.js"></script>
<script type="text/traceur">
var varName="varValue";
// 浏览器环境下
console.log(window.varName); // 输出varValue
// Node.js环境下
// console.log(global.varName);// 输出varValue
//通用环境
console.log(this.varName); //输出varValue
let letName="letValue";
console.log(window.letName); // undefined(use strict使用严格模式下是输出undefined);普通模式输出letValue
console.log(this.letName); // undefined(use strict使用严格模式下是输出undefined) ;普通模式输出letValue
</script>
</head>
<body>
</body>
</html>