JS中new都是干了些什么事情

时间:2023-03-08 19:30:05

var Person = function(name){

this.name = name;

this.say = function(){

return "I am " + this.name;

};

}

var nyf = new Person("nyf");

nyf.say();

1、创建一个空对象,并且this变量引用这个空对象,同时还继承了该函数的原型;

2、属性和方法都被加入到this引用的对象当中;

3、新创建的对象由this引用,并且最后隐式的返回this;

var obj  = {};
obj.__proto__ = Base.prototype;
Base.call(obj);