关注程序员耳东,编程转码真轻松
考点:原型链、this、new运算符的原理
防杠指南:本文不适用于资深大佬,若喷必回
这个题目出现频率很高,面霸的粉丝反馈这个题目经常被问到,值得一次性搞清楚
首先看看new一个对象的时候,背后发生了什么,比如说以下代码:

我们梳理一下这个过程中发生了什么:
但是这里有一个特殊的情况,如果Car这个构造函数本身就返回了一个对象,那么结果就不一样了,比如说如下代码:

所以其实这个过程中有三个需要注意的点:
并且在实现的时候需要考虑到new传入的constructor不是函数的情况,需要有一个健壮性判断
所以我们写的代码如下:
