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,这多少个目的在程序执行前一度存在了(默认实例化);

    宿主环境下的对象:宿主环境提供的大局对象/函数,常见的是浏览器设定并且限制开发者重写的,如:set提姆eout、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

  1. 宿主环境(紧假如浏览器)设定的大局对象,一般是不允许重写的

—END