全局對象的屬性:
全局對象是最頂層的對象,在瀏覽器環境指的是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>