问题的场景

面试中问到了关于原型链的什么

我的回答如下:

所有的JS对象都有一个prototype属性,指向它的原型对象。当试图访问一个对象的属性时,如果没有在该对象上找到,它还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。在这个查找的过程中形成的链式结构就被称作原型链

但是面试官接下来没有继续问我问题,所以现在就很尴尬,我觉得我回答的不够好,总觉得缺点儿什么,总觉得应该补充点儿什么

以下是我个人认为可以做补充的东西:

首先从什么是原型讲起,在高级程序设计里面,对于原型的理解是在函数的继承中讲到的

1、每个函数都会创建一个prototype树形,这个属性是一个对象,包含应该由特定引用类型的实例共享的属性和方法,也就是说这个对象是通过调用构造函数创建的对象的原型
2、原型的好处是:在原型上定义的属性和方法可以被实例共享
3、提一下原型的那个三角关系:
只要创建一个函数,就会为这个函数创建一个prototype属性, 在默认情况下,所有的原型对象都会自动获得一个名为constructor的属性,指回与之关联的构造函数,XXX.prototype.constructor指向函数,函数的实例会通过__proto__指向构造函数
4、提上面说到的原型链
5、原型链方便代码自己去调用共享每种数据类型(就是对象啦)的方法、属性

以上是个人拙见吧
参考: js高级程序设计4

面试中如何去回答原型链这个问题的思考相关推荐

  1. 在面试中,如何回答最常见的问题?

    面试是找工作过程中最重要的一环,成功的面试可以让你更接近你梦想的工作.但是,即使你有着出色的工作经验和学历,如果你不知道如何回答常见的面试问题,你也许无法展现出你的真实能力.在面试中,如何回答最常见的 ...

  2. 【职场】面试中最难回答频率最高的70个问题

    1.请你自我介绍一下你自己, 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识领域 ...

  3. JS中关于构造函数、原型链、prototype、constructor、instanceof、__proto__属性

    在Javascript不存在类(Class)的概念,javascript中不是基于类的,而是通过构造函数(constructor)和原型链(prototype chains)实现的.但是在ES6中引入 ...

  4. 非技术性的面试中的技巧性回答集锦(建议收藏)

    1.请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有.其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识领域 ...

  5. JS中的继承与原型链

    对于原型我们通过[[prototype]].proto 以及 prototype 这三个概念理解其实现继承的思路. [[prototype]] 在 ECMAScript 标准中规定每个对象都有一个内置 ...

  6. js中的对象、原型链机制、构造函数

    一.在js中创建对象的方式 //一.字面量或直接量创建对象var obj1 = {name:"zs",age:12}; //二.通过new来创建对象var obj2 = new O ...

  7. 简析面向对象中的继承,原型链,闭包之继承

    为什么80%的码农都做不了架构师?>>>    我们理解的继承简单来说就是拿来主义:自己没有,别人有,把别人的拿过来使用或者让其成为自己的.那么如何实现继承呢? 一,混入继承 由于一 ...

  8. JavaScript中的经典题型(类数组、CSS Sprites、事件委托、经典去重、原型链、闭包、深浅克隆、附带思路流程和源码)

    JavaScript中的经典题型 一.JavaScript中的经典题型 1..如何判断一个数组和类数组? 首先要明白什么是类数组. 类数组:类数组是一个普通对象,他的原型是Object.而真实的数组是 ...

  9. 关于Object.create()与原型链的面试题?

    原文地址 https://segmentfault.com/q/1010000004670616?utm_source=weekly&utm_medium=email&utm_camp ...

最新文章

  1. 深度学习下的医学图像分析 2
  2. android java file 清理垃圾获取文件大小 删除文件等操作
  3. ecshop“发货查询”中加入收货人、收货地址、发货时间、配送方式
  4. 2017寒假第一篇随笔(寒假作业一)
  5. MarkDown 公式书写
  6. Oracle 原理:游标,显示游标、隐式游标、参照游标
  7. 将数字转化为液晶显示屏的样子
  8. C 语言中可以调用命令行指令的 system()函数
  9. FullCalendar 三:FullCalendar应用——读取JSON数据
  10. oracle 10g安装需注意细节
  11. Asp.net夜话之一:asp.net介绍
  12. 003:枚举算法(习题)
  13. 遗传算法实践详解(deap框架初体验)
  14. mysql 批量插入(记录帖)
  15. 通过TCP网络协议实现控制台多人聊天功能,另附私聊@功能。(java)
  16. 入门级移动App服务器的软硬件需求
  17. Trading Convexity for Scalability
  18. python经典代码
  19. 入门理解计算机视觉、图形学、图像处理
  20. LaTeX使用CJK支持中文排版

热门文章

  1. 电脑不识别移动硬盘--解决了
  2. 脚踏实地《数据结构第二章》第一节:线性表的定义和基本操作
  3. Metricbeat 8.4.0 linux 安装(Metricbeat-part1)
  4. ”广告电商“商业模式及逻辑
  5. 小评最近很火的BERT模型
  6. 建网站需要学习的软件有哪些
  7. 什么是HDMI延长器?HDMI延长器应用在什么场合
  8. 正则表达式匹配不包含某些字符串的技巧
  9. 【CAD开发】gltf文件格式的转换工具汇总(js、python、c++)
  10. 如何用python执行macro_python与macro宏调用