JavaScript快速入门-ECMAScript对象介绍

1、概念介绍

在 ECMAScript 中,全部对象并不是同等建立的。通常来讲,能够建立并使用的对象有三种:本地对象、内置对象和宿主对象。javascript

要理解这三种对象,先要理解宿主环境。java

一、宿主环境

通常宿主环境由外壳程序建立与维护,只要能提供js引擎执行的环境均可称之为外壳程序。node

如:web浏览器,一些桌面应用系统等。即由web浏览器或是这些桌面应用系统构成的环境即宿主环境。python

在python中相似于python解释器。web

二、原生对象(本地对象)

独立于宿主环境的ECMAScript提供的对象。与宿主环境无关,在javascript(网景浏览器)、nodejs(node平台)、jscript(ie浏览器)、typescript(微软平台)等等中均有这些对象。typescript

简单来讲,本地对象就是 ECMA-262 定义的类(引用类型或原始类型)。在运行过程当中动态建立的对象,须要new。数组

在python中相似原生对象,如:数字、字符串、列表、元组、字典、类。浏览器

三、内置对象(build-in)

由 ECMAScript 实现提供的、独立于宿主环境的全部对象,在 ECMAScript 程序开始执行时出现,即在引擎初始化阶段就被建立好的对象。框架

这意味着开发者没必要明确实例化内置对象,它已被实例化了。jvm

在python中的内建对象,好比sys、os、math等模块。

四、宿主对象

即由 ECMAScript 实现的宿主环境提供的对象,包含两大类,一个是宿主提供,一个是自定义类对象,ECMAScript官方未定义的对象都属于宿主对象,全部非本地对象都是宿主对象。

宿主提供对象原理--->由宿主框架经过某种机制注册到ECscript引擎中的对象,如宿主浏览器(以网景为参考)会向ECscript注入window对象,构建其实现javascript。

宿主对象就是执行JS脚本环境提供的对象。对于嵌入到网页中的JS来讲,其宿主对象就是浏览器提供的对象,因此又称为浏览器对象,如IE、Firefox等浏览器提供的对象。不一样的浏览器提供的宿主对象可能不一样,即便提供的对象相同,其实现方式也截然不同!这会带来浏览器兼容问题,增长开发难度。

浏览器对象有不少,如Window和Document等等。

有点相似python中的各类*ython,好比:Python,Cython,Jython,IRONpython。其实就是为运行python脚本而提供的专有环境。

一、PYTHON,CYTHON

将这两个放在一块儿,是由于python的标准和原始实现就是基于cython的,因为python的源代码是须要将python源码首先编译为c代码,而后再编译为本机代码的方式运行的,因为c语言和本机代码的关系,执行速度比较快。

二、JYTHON

首先将python编译为基于java字节码的字节码文件,而后在java虚拟机jvm上运行java字节码。

三、IRONpython

将python编译为基于.NET的CLI的中间语言文件,而后在CLR上运行。

 

五、自定义对象

顾名思义,就是开发人员本身定义的对象。JS容许使用自定义对象,使JS应用及功能获得扩充。

2、本地对象

简单来讲,本地对象就是 ECMA-262 定义的类(引用类型)。有如下这些:

  • Object(对象)
  • Function(函数)
  • Array(数组)
  • String
  • Boolean
  • Number
  • Date
  • RegExp
  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

经常使用对象:

String对象

Array对象

Date对象

Number对象

Function对象

RexExp对象

 

3、内置对象

Global对象

Math对象

 

4、宿主对象

DOM对象

BOM对象

相关文章
相关标签/搜索