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

发表评论

电子邮件地址不会被公开。 必填项已用*标注