面试系列(四)原型及原型链问题

本文解析了JavaScript中new操作符的工作原理,包括空对象创建、this指向及属性设置。探讨了构造函数返回值的不同情况,并解释了重写构造函数prototype与直接给其添加属性的区别,同时介绍了instanceof关键字的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为讲原型和原型链的问题实在是太多了,所以这里就记录几道高频的面试题

  1. new一个函数的执行过程
    • 创建一个空对象
    • this指向这个空对象
    • 执行语句,创建属性
    • 返回执行上下文
  2. 当构造函数有return 的时候会怎样

       正常的构造函数是没有return的,返回执行上下文this

             但是如果有return 分为两种情况:

                1. return 一个基本类型(number,string ,unfined)将无视这个return

                2. return 一个引用类型 (object,array,function,regexp)将return这个东西

   3. 重写构造函数的prototype和给prototype添加一个属性有什么区别

       原型对象有一个属性construct指向构造函数,所以重写prototype后construct将指向Object。

       我们需要手动补上

 4. instranceof    判断一个对象是够是一个原型的实例

     只要这个原型在对象的原型链上,intranceof 为true

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值