zoukankan      html  css  js  c++  java
  • 简述JavaScript全局对象

    全局对象是JavaScript中非常重要的一类对象,它作为程序顶层(程序最顶端,不包括在任何函数之内)的上下文存在,JavaScript中的全局属性、全局函数都是通过全局对象来提供给程序的,比如

            全局属性 如:undefined,Infinity,NaN

            全局函数 如:isNaN(),parseInt(),eval()

            构造函数 如:Date(),RegExp(),String(),Object(),Array()

            全局对象 如:Math、JSON

    当一段JavaScript程序开始执行的时候,JavaScript解释器便会创建一个新的全局对象,将那些初始属性定义给它,这些预定义属性也都是可枚举的。 全局对象仅仅是一个对象,而不是类,不拥有构造函数,故我们不能实例化一个新的全局对象。


    我们在程序中所定义的全局变量也会以全局对象属性的形式存在,全局对象就是全局作用域的“声明上下文对象“:

    var a = 1;
    console.log(this.a); // 1
    不使用var关键字的全局变量也是同样:

    function test(){
        a = 1;
    };
    test();
    console.log(window.a); // 1
    这段代码里还有个点:全局对象window内有个属性window指向它自身,于是我们可以使用window属性代替this来引用全局对象。


    在代码的最顶级可以直接用关键字this来引用全局对象:

     

    再比如NodeJs中:

    全局对象的预定义属性是可枚举的,我们可以使用for in循环来查看它们

    for(var attr in this){
        console.log(attr + ':' + this[attr] + '
    ');
    }


  • 相关阅读:
    分公司下拉框赋值-从后台传到前端jsp
    EASYUI DATAGRID加合计
    Quartz_TimeJob例子(C#)
    JAVA项目如何打开,打开乱码怎么办,字体太小怎么办,感叹号是什么情况
    下拉框设置下拉列表宽度
    获取dataset结果集的第一行第一列字段
    安装visio冲突
    ubuntu创建普通用户,解决远程登录失败
    ubuntu中文环境配置
    stackoverflow访问慢
  • 原文地址:https://www.cnblogs.com/zhuwq585/p/7492844.html
Copyright © 2011-2022 走看看