• JavaScript中的两种全局对象


    这里总结的东西特别适合先学习c/c++, Java这类标准语言再学JS的童鞋们看,因为JS在程序执行之前就会初始化一个全局对象,这个全局对象到底是什么是跟JS程序运行环境有关的。

    根据JavaScript的运行环境,在JS中存在两种全局对象:JS全局对象和window全局对象。

    1. 第一种是在JS语言核心中,即没有web浏览器宿主环境的条件下,在这种环境中,对于任何JS程序,在程序开始之前,JS解释器都会初始化一个全局对象供程序使用,这个全局对象占且称为“JS全局对象”。通过使用“JS全局对象”可以访问所有预定义的全局属性,全局普通函数,全局构造函数和全局对象(这些预定义的全局XX都是“JS全局对象”的属性)。而“JS全局对象”不是任何对象的属性,所以它没有名称,可以在全局作用域内使用this关键字引用“JS全局对象”。

    • “JS全局对象”拥有一些全局属性:比如undefined, Infinity和NaN。
    • “JS全局对象”拥有一些全局对象:比如Math和JSON。
    • “JS全局对象”拥有一些全局普通函数:比如isNaN(), parseInt()和eval()。
    • “JS全局对象”拥有一些全局构造函数:比如Object(), Array(), Date(), RegExp()和String()。

    “JS全局对象”的这些属性的特性:可写性(Writable):true, 可枚举性(Enumerable): false, 可配置性(Configurable): true. 这在ECMA262中有说明如下:

    2. 第二种是运行在web浏览器中的JS程序,web浏览器这个宿主环境中的全局对象为“window全局对象”,“window全局对象”提供了与当前窗口、页面有关的诸多属性与方法。除了这些与浏览器有关的全局属性和方法,window对象还封装了“JS全局对象”,并向外暴露“JS全局对象的属性与接口”。因此,当进行浏览器端JavaScript编程时,只需关心“window全局对象”即可。

  • 相关阅读:
    Qt5:"Designer: An error has occurred while reading the UI file at line 1, column 0: Premature end of document."错误
    Qt5 : 在使用 QtDesigner 的时候编译通过窗口不显示
    Qt5:遇到 tr() 函数 未定义的错误
    Qt5 : 使用QtDesigner的时候查看代码正确 但是编译的时候总出现 为定义的错误
    第四章:粘住位
    socketread方法
    AT24C02的操作说明
    MSP430常用程序架构
    MSP430F149的存储器结构及FLASH读写
    LCD1602的MSP430驱动函数
  • 原文地址:https://www.cnblogs.com/iamswf/p/4588039.html
Copyright © 2020-2023  润新知