JavaScript定义对象原型的两种实现方式对比
作者:纸飞机时间:2026-10-21 18:09:56浏览:134
本文介绍JavaScript中定义对象原型的两种常用方式:直接为prototype属性赋值方法与使用对象字面量重写prototype。通过Person类示例对比两者在内存共享与方法拓展上的差异,解析为何对象字面量方式更便于扩展多个方法且使用更顺手。
JavaScript定义对象原型的两种实现方式对比
第一种方式是通过直接为Person.prototype属性赋值具体方法来定义原型。
function Person()
{
this.username = new Array();
this.password = "123";
}
Person.prototype.getInfo = function()
{
alert(this.username + ", " + this.password);
}
var p = new Person();
var p2 = new Person();
p.username.push("zhangsan");
p2.username.push("lisi");
p.getInfo();
p2.getInfo();
第二种方式则是使用对象字面量直接重写Person.prototype属性。
function Person()
{
this.username = new Array();
this.password = "123";
}
Person.prototype={
getInfo:function(){
alert(this.username + ", " + this.password);
}
}
var p = new Person();
var p2 = new Person();
p.username.push("zhangsan");
p2.username.push("lisi");
p.getInfo();
p2.getInfo();
个人比较喜欢第二种方式,因为这种方式允许在原型中拓展各种方法,用起来比较顺手。
例如可以写:
Person.prototype={
a方法:function(){
do somethings...
},
b方法:function(){
do somethings...
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
