- 0
- 0
- 约1.96万字
- 约 24页
- 2026-06-09 发布于河北
- 举报
JS高级编程面试题及详细答案
一、基础进阶(必问,考察核心概念理解)
1.请解释JS中的原型链,以及prototype和__proto__的区别,举一个实际开发中的应用场景
答案:
首先明确核心:JS中所有对象都有__proto__(隐式原型),所有函数都有prototype(显式原型),原型链的本质是“对象查找属性/方法的链路”——当访问一个对象的属性时,先找自身,找不到就通过__proto__找它的原型对象,一直往上找,直到找到Object.prototype(原型链顶端),找不到就返回undefined。
prototype和__proto__的核心区别:
1.归属不同:prototype是函数独有的(函数也是对象,但只有函数有prototype),用于定义该函数实例化对象的公共属性和方法;__proto__是所有对象都有的(包括函数),用于指向它的原型对象,搭建原型链。
2.作用不同:prototype是“模板”,供实例继承;__proto__是“桥梁”,连接对象和它的原型,实现属性查找。
补充:函数的__proto__指向Function.prototype(因为函数是Function的实例),Object.prototype的__proto__是null(原型链终点)。
实际应用场景:开发中封装公共组件/工具类时,用原型链实现继承,减少代码冗余。比如封装一个弹窗
您可能关注的文档
最近下载
- 小王子中的美句法语版.doc VIP
- 2025年12月大学英语四级考试真题第1套(含答案+听力原文+听力音频).docx VIP
- 2025年12月大学英语四级考试真题第3套(含答案+听力原文+听力音频).docx VIP
- 火电行业碳排放权会计确认与计量研究--以华能国际为例.pdf
- 2025年厦门中考数学试卷真题及答案.doc VIP
- 剪式汽车升降台设计-双层剪叉式液压举升机.docx VIP
- 2025年12月大学英语四级考试真题第2套(含答案+听力原文+听力音频).docx VIP
- 胆囊良性疾病外科治疗的专家共识(2021 版)解读.pptx VIP
- 鸡的屠宰工艺流程.pptx
- 2026年高级卫生专业技术资格考试老年医学(064)(副高级)应考重点详解.docx VIP
原创力文档

文档评论(0)