一张图让你看懂JavaScript各类型的关系

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

2011081117163430.png 

这个图来自于《JavaScript语言精髓与编程实践》第三章P184页。最近在改第二版,这张图重做了,需要的可以对照着看。

此外,补充一下图中用到的概念:

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

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

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

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

原文链接:http://www.w3cfuns.com/thread-5594427-1-1.html

【编辑推荐】

  1. 编程赋予了我们什么样的改变
  2. 即将成为程序员的你需要什么技能
  3. 优秀的JavaScript模块是怎样炼成的
  4. 对于JavaScript,开发者更关注哪些方面
  5. 6个月:从小白到程序员,也许没那么难
责任编辑:张伟 来源: w3cfuns
相关推荐

2014-03-14 09:47:08

手游进化产品

2015-03-10 10:15:27

AppleWatch开发Swift

2019-05-31 08:54:46

Linux内核操作系统

2015-07-20 17:01:12

APP崩溃云智慧

2019-03-18 15:00:48

SQLJoin用法数据库

2015-06-24 10:51:10

iOS学习流程

2018-05-18 18:09:44

人工智能

2024-05-07 08:49:45

微服务架构模式

2022-03-31 11:41:02

DDoS网络安全关键信息基础设施

2021-11-07 15:04:39

机器学习人工智能数据

2024-09-26 08:53:43

2016-11-10 10:03:02

微软Power BI组件

2014-12-02 10:09:05

硅谷比例

2012-12-24 10:29:42

大数据生态系统数据库451Research

2015-10-28 10:17:22

Html5前端优化

2021-01-01 09:04:44

Linux内核变量

2014-12-02 10:11:21

硅谷程序员比例

2020-12-23 18:49:18

移动电信联通

2012-07-20 17:24:51

HTML5

2018-04-03 14:08:15

猫来
点赞
收藏

51CTO技术栈公众号