资讯专栏INFORMATION COLUMN

原型链类原理

gyl_coder / 2307人阅读

摘要:实例原型链第一种方式字面量第二种方式通过构造函数创建第三种方式运算符指定构造函数转移上下文是不是对象类型可以拷贝转发,但是必须提供原作者信息,同时也不能将本项目用于商业用途。

原型链类 javascript 1. 创建对象有几种方法

默认这个对象的原型链指向 Object

var o1 = {name:"o1"}; // 字面量
var o11 = new Object({name:"o11"}); //new Object

使用显示的构造函数来创建对象

var M = function(){this.name="o2"};
var o2 = new M();

使用显示的构造函数来创建对象

var p = {name:"p"};
var o4 = Object.create(p);
把参数中的这个对象作为一个新对象的原型对象赋于 o4,只能通过原型链来找 name 属性
2. 原型、构造函数、实例、原型链

实例:o1、o11、M、o2、p、o4

构造函数:被 new 使用的函数

构造函数使用 new 运算符生成实例

构造函数通过 prototype 属性初始化一个对象,即原型对象

原型对象如何区分被哪个构造函数所引用,通过原型对象的构造器 constructor 来指向生成的函数

原型链:从一个实例往上找构造这个实例相关联的对象,这个关联的对象再往上找,它又有创造它的上一级的原型对象,以此类推,直到
objrct.prototype 原型终止。主要通过 prototype__proto__ 实例

instanceof 的原理

判断实例对象的 __proto__ 与构造函数的 prototype 是不是同一个引用,只要在这条原型链的构造函数都是这个实例对象的构造函数

constructor 比用 instanceof 更加严谨


new 运算符

一个新对象被创建,它继承自 foo.prototype

构造函数被执行。执行的时候,相应的参数会被传入,同时上下文「this」会被指定为这个新实例。new foo 等同于 new
foo(),只能用在不传递任何参数的情况。

如果构造函数返回了一个「对象」,那么这个对象会取代整个 new 出来的结果。如果构造函数没有返回对象,那么 new 出来的结果为步骤1的对象。

实例:





    
    
    原型链
    




    


License

可以拷贝、转发,但是必须提供原作者信息,同时也不能将本项目用于商业用途。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93254.html

相关文章

  • 原型链学习面试

    摘要:这是实现继承的最通用的方式,这种方法的缺点实例化子类的时候父级的构造函数执行了次,没有必要执行次。 原型链类 创建对象有几种方法 1、字面量对象var o1 = {name:1}var o11 = new Object({name:11})2、显示构造函数创建var M = function(){this.name =o2}var o2 = new M();3.Object.creat...

    Tony 评论0 收藏0
  • 区块链笔记(4)用JS写个简单的区块链原型

    摘要:介绍了一些关于比特币的概念与机制,为了加深理解,本文基于来实现一个简单的区块链原型,后续再对其进行不断丰富。概述如前所述区块链模型的组成部分,包括区块,区块构成的区块链,以及保存区块链的数据持久层等。 介绍了一些关于比特币的概念与机制,为了加深理解,本文基于JavaScript来实现一个简单的区块链原型,后续再对其进行不断丰富。 1. 概述 如前所述区块链模型的组成部分,包括区块,区块...

    W_BinaryTree 评论0 收藏0
  • 区块链笔记(4)用JS写个简单的区块链原型

    摘要:介绍了一些关于比特币的概念与机制,为了加深理解,本文基于来实现一个简单的区块链原型,后续再对其进行不断丰富。概述如前所述区块链模型的组成部分,包括区块,区块构成的区块链,以及保存区块链的数据持久层等。 介绍了一些关于比特币的概念与机制,为了加深理解,本文基于JavaScript来实现一个简单的区块链原型,后续再对其进行不断丰富。 1. 概述 如前所述区块链模型的组成部分,包括区块,区块...

    binaryTree 评论0 收藏0
  • SpringMVC之DispatcherServlet(一)

    摘要:调用拦截器的方法,它在处理器实际执行之前会被执行,它在处理器执行完毕以后被执行,它在整个请求处理完成之后被执行。根据参数调用具体的方法,并获取返回值交有具体的参数解析器后,完成具体的相应参数的解析,例如包括请求中得是等进行相应的解析。 官方文档说明 中文文档链接部分内容引字下面博客博客1博客2 前言:DispacherServlet是什么? 与很多的web框架一样,Spring Mvc...

    Chiclaim 评论0 收藏0
  • 首次提出“可信隐私计算”概念和五大核心要素,UCloud优刻得参与编写业内权威研究报告

    摘要:微软雅黑微软雅黑近日,在微软雅黑隐私计算大会上,由中国信通院牵头,优刻得在内的多家隐私计算联盟成员共同参与编写的隐私计算应用研究报告可信隐私计算研究报告重磅发布。近日,在2022隐私计算大会上,由中国信通院牵头,UCloud优刻得在内的多家隐私计算联盟成员共同参与编写的《隐私计算应用研究报告(2022)》、《可信隐私计算研究报告》重磅发布。近两年来,在政策驱动和市场需求同时作用下,隐私计算技...

    ernest.wang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<