js的new运算符做了哪些事情

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 13:33   26   0

代码如下:

function Person(name,age){
this.name = name;
this.age = age;
this.sayName = function(){
console.log(this.name);
}
}
Person.prototype.sayAge = function() {
console.log(this.age);
};

// 创建person对象方法1:
var person = new Person('gaos',23);

// 创建person对象方法2:
var person={}; //初始化一个对象person。
person.__proto__=Person.prototype;
Person.call(person,'gaos',23);//构造person,也可以称之为初始化person。


// 注:两种方法创建的person对象一样,方法2创建person对象的三个步骤,相当于new操作符进行的操作。


person.sayName();
person.sayAge();
console.log( Person === Person.prototype.constructor );//true
console.log( person instanceof Person);//true
console.log( person.constructor === Person );//true
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP