原型对象,原型链这些知识属于基础类知识。但是平时开发过程中也很少用到。

看网上的意思,原型链用于es5开发场景下的继承。es6有了类语法糖之后,就自带继承了。

通过理解,个人画了一张原型链解构的关系图:

可以看出:

从构造函数F开始

new 构造函数F就是实例对象f(var f=new F())

构造函数F.prototype就是F的原型对象(F.prototype==F原型对象)

F原型对象.constructor就是构造函数F(F.prototype.constructor==F)

F原型对象.__proto__是Object的原型对象(F.prototype.__proto__==Object.prototype)

实例对象f.__proto__是F原型对象(f.__proto__==F.prototype)

Object的原型对象就是null(终结)

场景1:

无此私有属性:

原型添加属性后,f.a将会有值。不加的话,如果构造函数中不设置该属性,就是undefined

有此私有属性:

如果设置了私有属性就用不到了

场景2:

构造函数中无方法,原型对象中有方法,便可调用之

转载于:https://www.cnblogs.com/wuhairui/p/10282986.html

【javascript】对原型对象、原型链的理解相关推荐

  1. ES6 (二十二)Class 的继承、extends关键字、super 关键字(函数调用(constructor)、对象(父类原型对象))、原型对象(原型链)、Mixin 模式

    ES6 (二十二)Class 的继承.extends关键字.super 关键字(函数调用(constructor).对象(父类原型对象)).原型对象(原型链).Mixin 模式 文章目录 ES6 (二 ...

  2. js 执行环境 活动对象 变量对象 作用域链的理解

    看一下是知乎大神对于 js 执行环境 活动对象 变量对象 作用域链的解释 假设在全局环境下定义了函数pub()和变量pubvar: var pubvar = 1; function pub () {v ...

  3. JavaScript进阶-编程思想、构造函数的原型对象、对象原型、原型继承以及原型链

    编程思想 面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次 调用就可以了. 优点: 性能比面向对象高,适合跟硬件联系很紧密 的东西,例如单 ...

  4. JavaScript apply 和 call 和 bind,原型和原型链的理解

    apply 和 call 改变 this 指向 apply 和 call 都可以让函数或方法调用 apply 第二参数是数组 call 参数是多个值 function f1(x,y){return x ...

  5. (转)【javascript基础】原型与原型链

    原文地址:http://www.cnblogs.com/allenxing/p/3527654.html 前言 原型是什么 理解原型对象 原型对象 isPrototypeOf hasOwnProper ...

  6. JavaScript重难点解析3(原型与原型链、执行上下文与执行上下文栈)

    JavaScript重难点解析3(原型与原型链.执行上下文与执行上下文栈) 原型与原型链 原型(prototype) 显示原型与隐式原型 原型链 instanceof是如何判断 执行上下文与执行上下文 ...

  7. javascript原型和原型链

    一.Javascript数据类型 1.基本数据类型:Number String Boolean Null Undefined 基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值 var a ...

  8. JavaScript(八)——对象原型

    通过原型这种机制,JavaScript 中的对象从其他对象继承功能特性:这种继承机制与经典的面向对象编程语言的继承机制不同.本文将探讨这些差别,解释原型链如何工作,并了解如何通过 prototype ...

  9. JavaScript高级day02-AM【函数的prototype、显式原型与隐式原型、原型链】

    笔记.视频.源码:JavaScript(基础.高级)笔记汇总表[尚硅谷JavaScript全套教程完整版] 目   录 P15 15.尚硅谷_JS高级_函数的prototype 15:04 1. 函数 ...

  10. 【JavaScript高级教程】JavaScript prototype(原型对象)

    所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法. function Person(first, last, age, eyecolor) {this.fi ...

最新文章

  1. 抓取了1400家科技公司的招聘信息,我发现数据工程师比数据科学家更有市场
  2. python正则表达式代码_python的re正则表达式实例代码
  3. OpenCV实现图像金字塔
  4. 【特征工程】(未完成)编码
  5. C++ 编译,运行过程 详解。
  6. BZOJ 4421: [Cerc2015] Digit Division 排列组合
  7. Java中CAS(Compare And Swap,比较和交换)算法的技术原理简述
  8. AI一周热闻:华为年收入突破千亿美元;英伟达发布城市监控数据集
  9. 项目搭建系列之一:使用Maven搭建SpringMVC项目
  10. model.train() model.eval()
  11. 单例模式中饿汉模式和懒汉模式的线程安全问题
  12. php 生成合同,万能合同文书自动生成软件系统
  13. css3 transition transform属性造成文字抖动
  14. C Halting Problem
  15. 下拉列表(select标签)
  16. FreeBSD网站平台建设全过程(一、系统安装)
  17. 树莓派系统+arduino单片机+双目摄像头 搭载小车
  18. Luogu 2495 [SDOI2011]消耗战
  19. C learning_11 (数组和在内存存储的理解、数组越界、数组作为形参)
  20. 仿360一键清理实现(二)

热门文章

  1. 射线检测(Summary)
  2. 基于EPOLL+多进程+线程池的server框架设想_程序世界_百度空间
  3. 安全应对MySQL攻击
  4. WPF 4 动态覆盖图标(Dynamic Overlay Icon)
  5. 鼠标悬停在li标签上时显示一个弹框_HTML标签——列表标签
  6. opengl 创建context_OpenGL专业名词解析
  7. java cfg_如何使用antlr生成Java CFG(控制流图)?
  8. 基于Netty的RPC框架
  9. 判断Windows操作系统位数的方法
  10. 抽象类java启动线程_java 线程复习笔记