博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript本地,宿主,内置对象
阅读量:5889 次
发布时间:2019-06-19

本文共 955 字,大约阅读时间需要 3 分钟。

一、本地对象:官方定义的对象

独立于宿主环境的 ECMAScript 实现提供的对象,包括操作系统和浏览器。本地对象就是 ECMA-262 定义的类(引用类型)。
“本地对象”包含内容:   Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError,ReferenceError、SyntaxError、TypeError、URIError
二、内置对象:是本地对象的一种,只有Math和Global(实际不存在的,相当于用来引用全局属性和函数)
 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现。
这意味着开发者不必明确实例化内置对象,它已被实例化了。
似乎很难分清“内置对象”与“本地对象”的区别。
而ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
如此就可以理解了。内置对象是本地对象的一种。而其包含的两种对象中,Math对象我们经常用到,可这个Global对象是啥东西呢?
Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,有点玩人的意思。大家要清楚,在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。
类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。而且Global对象的方法还不止这些。
三、宿主对象:自己定义的对象+BOM对象+DOM对象
所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。
包括:
1、BOM和DOM对象
2、自己定义的对象(ECMAScript官方未定义的对象)
var oPerson = new Object;
oPerson.name = 'simaopig';
oPerson.age = '26';
这里我自己定义的对象oPerson就是宿主对象。因为ECMAScript中未定义此对象,而此对象又只存在于我所运行的页面中。

转载地址:http://yvrix.baihongyu.com/

你可能感兴趣的文章
Python和Cython有什么关系?
查看>>
bind安装域名解析服务,以及分离服务
查看>>
Netfilter/Iptables Layer7 应用层过滤策略部署
查看>>
12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_b
查看>>
如何挂载另一个lvm硬盘
查看>>
安装cobbler
查看>>
第3章 方法的重载及参数传递
查看>>
多选下拉相互切换
查看>>
SSH服务详解
查看>>
小程序--时间处理(显示几分钟前,,几小时前,,几天前...)
查看>>
23种设计模式介绍(三)---- 行为型模式
查看>>
项目owner看这里,MaxCompute全表扫描新功能,给你“失误”的机会
查看>>
2018-07-16笔记(tomcat 配置)
查看>>
用框架思维解读生活目标
查看>>
selinux
查看>>
ci完整集成
查看>>
深度学习目标检测(object detection)系列(二) SPP-Net
查看>>
Python类、模块、包的概念及区别
查看>>
FreeMarker笔记 第四章 其它
查看>>
Oracle 11g 新特性简介(一)
查看>>