javascript构造函数类和原型prototype定义的属性和方法的区别

 我来答
百度网友e7102d2
推荐于2017-09-15 · TA获得超过1083个赞
知道小有建树答主
回答量:428
采纳率:66%
帮助的人:641万
展开全部
你好,用一个简单的Demo说明你的问题
function User(name, age) {
this.name = name;
this.age = age;
}
// 在原型添加一个属性和一个获取对象name方法
User.prototype.address = "上海";
User.prototype.getName = function() {
return this.name;
};
var u1 = new User("user1", 20);
console.log(u1.getName());// 输出user1
u1.getName = function() {//u1对象重新改变getName方法,只属于u1
return this.name + "00";
}
console.log(u1.getName());// 输出user100
u1.address;// 输出上海
var u2 = new User("user2", 40);
u2.getName();// 输出user2
u2.address;// 输出上海

  总的来说,在对象原型附加的属性或者方法将成为对象实例化的一部分,类似一个父类,新创建的对象都继承了prototype的属性和方法。

  希望可以帮到你

何度千寻
2015-10-28 · TA获得超过5898个赞
知道大有可为答主
回答量:1381
采纳率:91%
帮助的人:555万
展开全部

用一个简单的Demo说明该问题:


function User(name, age) {
this.name = name;
this.age = age;
}
// 在原型添加一个属性和一个获取对象name方法
User.prototype.address = "上海";
User.prototype.getName = function() {
return this.name;
};
var u1 = new User("user1", 20);
console.log(u1.getName());// 输出user1
u1.getName = function() {//u1对象重新改变getName方法,只属于u1
return this.name + "00";
}
console.log(u1.getName());// 输出user100
u1.address;// 输出上海
var u2 = new User("user2", 40);
u2.getName();// 输出user2
u2.address;// 输出上海

   

  总的来说,在对象原型附加的属性或者方法将成为对象实例化的一部分,类似一个父类,新创建的对象都继承了prototype的属性和方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式