广告
返回顶部
首页 > 资讯 > 前端开发 > html >javascript中宿主对象和原生对象有什么区别
  • 929
分享到

javascript中宿主对象和原生对象有什么区别

2024-04-02 19:04:59 929人浏览 八月长安
摘要

本篇文章为大家展示了javascript中宿主对象和原生对象有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 区别:原生对象是独

本篇文章为大家展示了javascript中宿主对象和原生对象有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

区别:原生对象是独立于宿主环境的ECMAScript实现提供的对象,即ECMA-262定义的类(引用类型);而宿主对象是由ECMAScript实现的宿主环境提供的对象,所有非原生对象都是宿主对象。

内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。

引擎扩展对象是一个并不太大的集合,一般来说比较确定,它们也属于引擎的原生对象(但不属于ECMA规范的原生对象)。

宿主对象不是引擎的原生对象,而是由宿主框架通过某种机制注册到JavaScript引擎中的对象。

一些宿主会把自己提供的对象/构造器也称为“原生对象”,例如Internet Explorer 7就把它提供的XMLHttpRequest()称为原生的——与此相对的是在它的更早先版本中通过“new ActiveXObject('Microsoft.XMLHTTP')”这样的方法创建的对象。这种情况下,读者应注意到“宿主的原生对象”与“引擎的原生对象”之间的差异。

一、原生对象

  ECMA-262 把原生对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。

  Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError、ActiveXObject(服务器方面)、Enumerator(集合遍历类)、RegExp(正则表达式

  由此可以看出,简单来说,原生对象就是 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程序创建的对象。TML DOM 是 W3C 标准(是 html 文档对象模型的英文缩写,Document Object Model for HTML)。

  HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。

  通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。

上述内容就是javascript中宿主对象和原生对象有什么区别,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网html频道。

--结束END--

本文标题: javascript中宿主对象和原生对象有什么区别

本文链接: https://www.lsjlt.com/news/71221.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript中宿主对象和原生对象有什么区别
    本篇文章为大家展示了javascript中宿主对象和原生对象有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 区别:原生对象是独...
    99+
    2022-10-19
  • javascript宿主对象和内置对象的区别有哪些
    今天小编给大家分享一下javascript宿主对象和内置对象的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2022-10-19
  • es6的map对象和原生对象有什么区别
    本篇内容主要讲解“es6的map对象和原生对象有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6的map对象和原生对象有什么区别”吧! ...
    99+
    2022-10-19
  • jquery对象和js对象有什么区别
    这篇文章主要为大家展示了“jquery对象和js对象有什么区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery对象和js对象有什么区别”这篇文章吧。 ...
    99+
    2022-10-19
  • Java中mutable对象和immutable对象有什么区别
    这篇文章主要介绍了Java中mutable对象和immutable对象有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Java mutable对象和immutable...
    99+
    2023-06-15
  • java类对象和实例对象有什么区别
    在Java中,一个类是一个模板或者蓝图,它定义了对象的属性和行为。而一个类对象是指类本身,可以通过类名访问静态属性和方法。 另一方面...
    99+
    2023-10-24
    java
  • JSON对象与Javascript对象的区别是什么
    本篇内容主要讲解“JSON对象与Javascript对象的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JSON对象与Javascript对象的区别是...
    99+
    2022-10-19
  • Java中的对象与C++中的对象有什么区别
    Java中的对象与C++中的对象有什么区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java中对象与C++中对象的放置安排的对比概要:Java中,所有的对象都存放在堆(He...
    99+
    2023-05-31
    java c++ ava
  • json和javascript对象的区别是什么
    本篇内容主要讲解“json和javascript对象的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“json和javascript对象的区别是什么”吧...
    99+
    2022-10-19
  • 对象存储和cdn有什么区别
    对象存储和cdn的区别:对象存储的核心是计算能力,而cdn核心是内容分发。对象存储是存图片的,而cdn是加速下载图片的。对象存储是提供存储的服务,而cdn是提供访问性能。...
    99+
    2022-10-14
  • 使用JavaScript和jquery获取dom对象有什么区别
    使用JavaScript和jquery获取dom对象有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript是什么JavaScript是一种...
    99+
    2023-06-14
  • css中伪类和伪对象有什么区别
    这篇文章给大家分享的是有关css中伪类和伪对象有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 伪类是用于向某些选择器添加特殊效果的;伪元素是...
    99+
    2022-10-19
  • Javascript中对象原型 __proto__有什么用
    这篇文章主要为大家展示了“Javascript中对象原型 __proto__有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Javascript中对象原型 __proto__有什么用”这篇...
    99+
    2023-06-20
  • javascript对象和数组的区别有哪些
    这篇文章主要介绍了javascript对象和数组的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:区别:1、对象是包含已命名的...
    99+
    2022-10-19
  • javascript对象和函数的区别有哪些
    本篇内容主要讲解“javascript对象和函数的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript对象和函数的区别有哪些”吧! ...
    99+
    2022-10-19
  • GO语言和Javascript中的对象同步:有什么区别和联系?
    随着计算机科学的发展,越来越多的编程语言被开发出来。其中,GO语言和Javascript都是非常流行的编程语言。在这两种语言中,对象同步是一个非常重要的话题。在本文中,我们将讨论GO语言和Javascript中的对象同步,比较它们之间的区别...
    99+
    2023-09-15
    对象 同步 javascript
  • php中类和对象的区别有哪些
    这篇文章主要为大家展示了php中类和对象的区别有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php中类和对象的区别有哪些”这篇文章吧。php有什么用php是一个嵌套的缩写名称,指的是英文超级...
    99+
    2023-06-06
  • Javascript中事件对象的target和this的区别有哪些
    这篇文章主要介绍了Javascript中事件对象的target和this的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.当触发对象与绑定对象一致时<!DO...
    99+
    2023-06-14
  • JavaScript中localStorage对象有什么用
    本篇内容介绍了“JavaScript中localStorage对象有什么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2022-10-19
  • JavaScript中Date对象有什么用
    这篇文章主要为大家展示了“JavaScript中Date对象有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中Date对象有什么用”这...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作