目录

原型链 :

代码1

运行结果1

代码二

运行结果2


原型链 :

每一个对象都有一个原型(__proto__),这个原型还可以拥有自己的原型,形成最终的原型链。
查找一个对象特定的属性或者方法,我们先去当前对象中找,如果没有找到那就去对象的原型中查找,
如果还没有找到那就去对象的原型的原型中查找,如果都没有找到最终返回null。

函数 prototype

对象 __proto__

**注意:原型链最顶端是null
       对象查找属性或者方法,找不到返回undefined

代码1

function Fun(){// this.name = '张三'}// Fun.prototype.name = '李四';var obj = new Fun();console.log( obj.__proto__.__proto__.__proto__ );console.log( obj.name );

运行结果1

代码二

function Parent(){this.name = '张三';
}function Child(){this.age = 18;}Child.prototype=new Parent();var child = new Child();console.log( child.name );

运行结果2

前端小知识点(10):原型链相关推荐

  1. 一、翻越前端的三座大山——继承/原型链

    文章目录 原型专题 前言 什么是原型? 实例和原型的关系 什么是原型链? Object 和 Function 的继承关系 原型运用例子: 手写instanceof 手写call,apply 手写new ...

  2. 前端小知识点(8):作者为什么设计原型

    目录 一.从古代说起 二.Brendan Eich的选择 三.new运算符的缺点 四.prototype属性的引入 五.总结 六代码部分 一.从古代说起 要理解Javascript的设计思想,必须从它 ...

  3. 原生js绑定click为什么点一次执行两次_前端小知识10点(2020.10.8)

    1.redux的compose实现 例: const add = num => num + 10 const multiply = num => num * 2 const foo = c ...

  4. 前端小知识点(4):JS 运行机制和存储

    目录 被忽视的内存管理 JS工作原理 JS代码如何运行 JavaScript内存的生命周期 栈内存.堆内存 代码案例 运行结果 被忽视的内存管理 JavaScript不像C.C++等语言--程序员必须 ...

  5. 前端小知识点(9):函数和对象之间的关系

    目录 函数与对象之间的关系 代码演示 运行结果 函数与对象之间的关系 函数 有什么 : 函数也是对象          函数有:prototype 对象 有什么 对象:__proto__ 原型对象里面 ...

  6. 前端小知识点(6):听了好多闭包,这次可能最懂

    目录 一.作用域和作用域链 二.闭包 三.无意间共享环境[可以通过闭包解决] 代码一 结果一 代码二 结果二 代码三 结果三 一.作用域和作用域链 当函数声明的时候,函数会通过内部属性[scope]来 ...

  7. 前端小知识点:IP地址的FQDN查询

    DNS,在基于微软的网络中称为域名系统(Domain Name System),域名有全称和简称的区别.全称的域名,直译为"完全的合格的域名"(FQDN,Fully Qualifi ...

  8. 前端小知识点(7):正则前瞻

    目录 一.js中的正则表达式,只有前瞻没有后顾        正向前瞻:(?=) ===>匹配符合的 代码1 结果1 代码2 结果2 一.js中的正则表达式,只有前瞻没有后顾           ...

  9. 前端小知识点(3):JavaScript 单线程

    目录 一.为什么 JavaScript 是单线程? 二.JavaScript是单线程,怎样执行异步的代码? 三.事件循环机制 四.代码1 五.结果1 六.代码2 七.结果2 一.为什么 JavaScr ...

最新文章

  1. FutureWarning: Passing (type, 1) or ‘1type‘ it will be understood as (type, (1,)) / ‘(1,)type‘
  2. halcon知识:select_shape究竟怎么用(1)?
  3. android 解决小米手机上选择照片路径为null的问题
  4. 【ValueError: Target is multiclass but average=‘binary‘. Please choose another average setting, one 】
  5. python中通过pip安装套件
  6. 三星Galaxy S21 FE官网“偷跑”:延续高性价比策略
  7. jQuery编程规范与最佳实践(附带一些个人的笔记)
  8. 剑指offer——面试题3:二维数组中的查找
  9. jQuery基础集锦——插件开发
  10. html两个自然段怎么写,春天作文二个自然段
  11. C内存分配方式与C++内存分配方式
  12. Windows10蓝屏的诸多解决方法
  13. hello world (android studio DNK )
  14. 不忘初心,砥砺前行——移宇科技助力泸州市内分泌学术年会
  15. MIT6.824-lab2A-2022篇(万字推导思路及代码构建)
  16. LumaQQ2006的安装
  17. Android动态化方案
  18. SSM+高校食堂外卖服务小程序 毕业设计-附源码200910
  19. 微信小程序App Page 模块化
  20. 高精度脚印效果制作原理

热门文章

  1. 5186. 区间内查询数字的频率
  2. 367. 有效的完全平方数
  3. PWA - service worker - Workbox(未完)
  4. 标准库类型String
  5. Mysql添加字段.md
  6. Azure 和 Linux
  7. 【Linux小技巧】开启关闭蜂鸣声
  8. 杭电1003 java_杭电ACM1003题怎么理解?
  9. 简述JAVA线程调度的原理,Rxjava原理(二)--线程调度
  10. matlab 万能,matlab 万能实用的线性曲线拟合方法