深挖new的实现原理
在面向对象开发中,我们常常用new关键字来创建一个对象的实例,然后通过这个实例,我们就可以访问类的各种成员了。这是我们对new的最直观的理解。那么在底层我们看不到的地方,new还干了什么呢,接下来我们用代码来做进一步分析。
function Fun(name){
this.name = name;
this.sayHello = function(){
console.log(`hello ${
this.name}`);
}
console.log(this);
}
Fun.prototype.sayHi = function(){
}
var fun = new Fun('Alvin');
console.log(fun);
fun.sayHello();
console.log(Fun.prototype);
console.log(fun.__proto__);
console.log