Javascipt的本地对象,内置对象和宿主对象

Javascipt的本地对象,内置对象和宿主对象,第1张

Javascipt的本地对象,内置对象和宿主对象

本地对象:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、evalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError, 简单来说,本地对象就是 ECMA一262 定义的类.

内置对象:ECMA一262 把内置对象(built一in object)定义为“由 ECMAscript 实现提供的、独立于宿主环境的所有对象,在 ECMAscript 程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已被实例化了。同样是“独立于宿主环境”。根据定义我们似乎很难分清“内置对象”与“本地对象”的区别。而ECMA一262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。如此就可以理解了。内置对象是本地对象的一种。而其包含的两种对象中,Math对象我们经常用到,可这个Global对象是啥东西呢?Global对象是ECMAscript中最特别的对象,因为实际上它根本不存在,有点玩人的意思。大家要清楚,在ECMAscript中,不存在独立的函数,所有函数都必须是某个对象的方法。类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。而且Global对象的方法还不止这些.

宿主对象:ECMAscript中的“宿主”就是我们网页的运行环境,即“ *** 作系统”和“浏览器”。所有非本地对象都是宿主对象(host object),即由 ECMAscript 实现的宿主环境提供的对象。所有的BOM和DOM对象都是宿主对象。因为其对于不同的“宿主”环境所展示的内容不同。其实说白了就是,ECMAscript官方未定义的对象都属于宿主对象,因为其未定义的对象大多数是自己通过ECMAscript程序创建的对象。自定义的对象也是宿主对象。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4885448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存