6.ES6全局对象属性

来源:互联网 发布:29岁了转行做程序员 编辑:程序博客网 时间:2024/05/16 10:33

全局对象的属性:

       全局对象是最顶层的对象,在浏览器环境指的是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>