function Student(name,age){
this.age=age;
this.name=name;
}
//一般情况下,对象的方法在原型对象的构造函数中来实现
// Student.prototype.sayHi=function(){
// console.log('sayHi');
// }
// Student.prototype.eat=function(){
// }
//缺点:当方法多了不太合适
//解决方法:可以重新改变原型对象的constructor,设置为一个新的对象
Student.prototype={ //相当于Student.prototype=new Object()
constructor:Student,
sayHi:function(){
},
eat:function(){
}
}
//注意当prototype被改变后,原型中的constructor属性会消失,解决方法是要在原型对象中重写constructor:Student,
var s1=new Student('zs',15);
console.log(s1.constructor);
console.log(s1.__proto__.constructor);
console.log(s1.__proto__.constructor==s1.constructor);
在原型对象中创建方法的优化
最新推荐文章于 2024-10-11 17:39:47 发布