一.本地对象:
本地对象也可以叫做原生对象或者内部对象。
此类对象独立于宿主环境,由ECMA提供,所以每一种宿主环境都可以使用本地对象。JavaScript中的本地对象有Object、Function、Array、String、Boolean、Math、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError和Global。
二.内置对象:
内置对象与本地对象有如下两点相同:
(1)独立于宿主环境,由ECMA提供。
(2)每一种宿主环境都可以使用。
内置对象有自己的特点,那就是无需使用new +构造函数创建,而是JavaScript引擎初始化的时候就被创建。
比如Global对象和Math对象,大家有谁见过通过构造函数创建Math对象实例,都是采用如下使用方式:
console.log(Math.PI) |
代码运行效果截图如下:
可以看到,内置对象是本地对象的一个子集。
三.宿主对象:
首先要明确什么是宿主,ECMA仅是一套规范,也就是指定的一套编程规则。
但是规则毕竟是规则,如果要发挥作用,必须要有平台或者说环境,这就是ECMA的宿主。
浏览器就是MCMA宿主之一,我们所说的JavaScript其实就是EMCA在浏览器上具体实现。
JavaScript中的宿主BOM与DOM对象,他们都属于window对象的子对象。
四.代码实例:
下面通过一个简单的代码实例,再来明确一下三个对象。
点击按钮可以随机设置元素的背景颜色和宽度,代码分析如下:
(1)上面有赋值运算符(=)的应用,这是ECMAS制定的规范。
(2)document.getElementById方法则是宿主对象document所提供的。
(3)在获取随机颜色和宽度的时候都用到了Math对象,这是本地对象提供了,同时也是内置对象。
(3)parseInt方法属于Global对象,属于本地对象,也属于内置对象,都是ECMA规范提供。
扫一扫 加微信咨询