• Javascript对象概述


    原文地址: http://www.cnblogs.com/hbzyin/p/7349727.html

    相信前端开发人员对DOM、BOM对象都已经十分了解了,这些两个对象不仅是入门概念,也是日常开发中接触最多的概念;同时作为前端开发的必备知识之一的Javascript,由于其具有高度的灵活性,很多同学都是秉承遇到什么学什么的理念,一点点不断来完善自己的知识,这也是个人提高技术的必经途径之一;不过个人还是比较倾向于整体把握为指导,日常积累为手段的方式进行提高。
    总之适合自己的方法,才是最好的方法。下面切入正题:

    1. 全局对象

    全局对象:在宿主环境中,其自身及其所有属性都可以在程序的任何地方、任何时间访问到的对象;如果全局对象有切仅有一个,全局对象同时也是根节点对象;

    • 根节点对象:所有属性、方法都挂载在根节点对象下,便于开发者进行属性、方法的查找;其缺点是调用繁琐;
    • 全局对象 :不同属性、方法都挂载在多个节点对象下,优点是调用方便快捷;缺点也是被Java语言所诟病的无序,使用时不知从何查找;

    2.Javascript的全局对象

    DOM、BOM对象现在的明星NodeJS都有一个唯一的全局对象,所有其他属性、方法都从属于该节点对象、或其子节点对象;如DOM的html、BOM的window、NodeJS的global
    Javascript为了开发者使用的方便,将诸多方法、属性都设置为全局对象/属性,所以Javascript就没有所谓的唯一的根节点对象;
    Javascript的全局对象根据是否依赖宿主环境分为两类:
    - 核心对象:即ECMAScript Global Object,这些对象在程序执行前已经存在了(默认实例化);
    - 宿主环境下的对象:宿主环境提供的全局对象/函数,常见的是浏览器设定并且限制开发者重写的,如:setTimeout、location等,

    2.1. Javascript的核心全局对象:

    序号 类别 栗子
    1 值属性 NaN、Infinity、Undefined...
    2 函数属性 eval()、parseInt()、isNaN()、decodeURI()....
    3 构造器(类)属性 Object、Array、Function、String、Boolean、Number、Date、RegExp、Error、RangeError、SyntaxError...
    4 其他(类似JAVA中静态类) Math、JSON...

    2.2. 全局对象的读写性:

    不管是Javascript的核心全局对象,还是宿主环境扩充的全局对象;开发者都可以随时调用;其不同之处在于:
    1. ECMAScript中定义的核心全局对象是可重写,但不可枚举,即:Writeable=true,Enumerable=false
    2. 宿主环境(主要是浏览器)设定的全局对象,一般是不允许重写的

    ---END

  • 相关阅读:
    使用python对mysql主从进行监控,并调用钉钉发送报警信息
    CentOS7下安装gitlab
    nginx日志自动切割
    Mysql定时备份数据脚本
    Linux下搭建FTP服务
    linux系统盘使用率达到100%的问题查找和解决方法
    CentOS6.5+nginx+mysql+php(laravel)服务器环境搭建
    RHEL6和RHEL7恢复root用户密码
    在Dell R720服务器上安装ESXI5.5时会出现卡在LSI_MR3.V00的解决方法
    /23 /24 /26/28 /29 /30或10.0.0.1/29这样怎么算服务器IP数是多少?
  • 原文地址:https://www.cnblogs.com/hbzyin/p/7349727.html
Copyright © 2020-2023  润新知