因为讲原型和原型链的问题实在是太多了,所以这里就记录几道高频的面试题
- new一个函数的执行过程
- 创建一个空对象
- this指向这个空对象
- 执行语句,创建属性
- 返回执行上下文
- 当构造函数有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