new操作进行了四个步骤
1.创建一个空对象obj
function Person (){
this.age = 18
}
Person.prototype = function eat(){}
var Child = new Person() //这就是第一步创建对象了
2.设置原型链 即 obj . _proto _ = 构造函数.prototype ;
//接上面代码
Child.__proto__ = Person.prototype //这样你new出来的child也就有了eat()这个函数方法了
3.让构造函数中的this指向obj
var result =Person.call(Child);
4.retun,返回对象obj
这一步就把你new出来的child给return出来了;
箭头函数不能作为构造函数,因为箭头函数没有自己的this,所以不可以使用new。
- 第一次发布,如果有什么不对的地方,请各位大佬踢我一下,谢谢啦