javascript宿主对象和内置对象的区别是什么

区别:1、内置对象是原生对象的一个子集属于原生对象,而宿主对象不是引擎的原生对象;2、内置对象是由ECMAScript实现提供的独立于宿主环境的所有对象,而宿主对象是ECMAScript官方未定义的对象。

javascript宿主对象和内置对象的区别是什么

本教程操作环境:windows10系统、javascript1.8.5版、Dell G3电脑。

javascript宿主对象和内置对象的区别是什么

原生对象包括内置对象(JavaScript引擎初始化时就被创建好的对象)和JavaScript运行过程中动态创建的对象,而宿主对象就是javacript引擎在运行过程中,JavaScript宿主环境(运行环境)通过某种机制注入到javascript引擎中的对象

具体区别:

内置(Build-in)对象:总是在引擎初始化阶段就被创建好的对象,是原生对象的一个子集。内置对象就是由EcmaScript提供的独立于宿主对象之外的,包含Global和Math(数字对象)和内置对象

立即学习“Java免费学习笔记(深入)”;

原生(Naitve)对象:除了内置对象,还包括了一些在运行过程中动态创建的对象。原生对象独立于宿主环境之外,包括Object,Array,Function,Number,String,Date

宿主对象:宿主对象不是引擎的原生对象,而是由宿主框架通过某种机制注册到JavaScript引擎中的对象。Javascipt的运行环境就是操作系统和浏览器,包含两类宿主对象BOM和DOM

一、原生对象 

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

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

 二、内置对象

        ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已被实例化了。

        同样是“独立于宿主环境”。ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是原生对象,根据定义,每个内置对象都是原生对象)

三、宿主对象 

        何为“宿主对象”? ECMAScript中的“宿主”当然就是我们网页的运行环境,即“操作系统”和“浏览器”。

        BOM 和 DOM 都是宿主对象。因为其对于不同的“宿主”环境所展示的内容不同。其实说白了就是,ECMAScript 官方未定义的对象都属于宿主对象,因为其未定义的对象大多数是自己通过 ECMAScript 程序创建的对象

相关推荐:javascript学习教程

以上就是javascript宿主对象和内置对象的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2936460.html

(0)
上一篇 2025年3月11日 21:01:36
下一篇 2025年3月9日 01:55:52

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript数值怎么转换二进制

    在JavaScript中,可以利用toString()方法实现数值转换二进制,该方法可以将数值转换为字符串,当参数设置为“2”时,就可以将数值以二进制字符串显示,语法为“number.toString(2)”。 本教程操作环境:window…

    2025年3月11日
    200
  • jquery是什么的一种封装

    jquery是JavaScript函数的一种封装。jQuery封装了JavaScript常用的功能代码(函数),提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 本教程操作环境:windo…

    2025年3月11日
    200
  • javascript被五整除的代码是什么

    javascript被五整除的代码是“数值%5==0”。被五整除可以理解为一个数值除以5后,余数为0;则可使用“%”运算符进行求余运算,再使用“==”运算符判断余数是否为0。 本教程操作环境:windows7系统、javascript1.8…

    2025年3月11日
    200
  • es2017是es6吗

    es2017不是es6;es2017又称es8,和es6是两个版本。es2017是2017年发布的ECMAScript的第8个版本,因此也可简称为es8;而es6是2015年发布的ECMAScript的第6个版本,也可称为es2015。 本…

    2025年3月11日
    200
  • JavaScript中有memset函数吗

    JavaScript中没有memset()函数;memset()函数是“C/C++”语言初始化函数,作用是将某一块内存中的内容全部设置为指定的值,该函数通常为新申请的内存做初始化工作,在JavaScript中该函数无法使用。 本教程操作环境…

    2025年3月11日
    200
  • javascript中大括号的用法是什么

    JavaScript中大括号的用法:1、用于组织复合语句;2、用于定义一个对象,大部分情况下要有成对的属性和值;3、用于声明函数或函数直接量;4、用作结构化异常处理的语法符号。 本教程操作环境:windows10系统、javascript1…

    2025年3月11日
    200
  • javascript逻辑运算符的含义是什么

    在JavaScript中,逻辑运算符是将语句连接成更复杂语句的特殊符号,逻辑运算符可以用于表示“取反”、“或者”、“与”等逻辑运算;JavaScript中有“!”、“&&”和“||”三种逻辑运算符。 本教程操作环境:wind…

    2025年3月11日
    200
  • JavaScript的数组最多能有多大

    JavaScript的数组最多能够有4294967295个元素;根据“ECMA-262”第5版规范,数组的最大长度由一个无符号32位整数绑定,因此最长的数组可以有“2的32次方-1”,也就是4294967295个元素。 本教程操作环境:wi…

    2025年3月11日
    200
  • javascript怎么取整不要小数

    方法:1、用“parseInt(数值)”语句取整;2、用“数值.toFixed(0)”语句取整;3、用“Math.ceil(数值)”语句取整;4、用“Math.floor(数值)”语句取整;5、用“Math.round(数值)”语句取整等。…

    2025年3月11日
    200
  • javascript怎么利用正则替换换行符

    正则替换换行符的方法:1、使用replace()函数,语法“字符串对象.replace(/[]/g,’替换值’)”;2、使用replaceAll()函数,语法“字符串对象.replaceAll(/[]/g,&#821…

    2025年3月11日
    200

发表回复

登录后才能评论