您的位置:首页 > 其它

面向对象解析prototype(模型)

2015-07-17 16:09 190 查看
在JavaScript中定义一个函数(也称对象)

function Person(name, age){

this.name=name;

this.age=age;

}

var person = new Person("ss" , 12);

现在如果想为对象添加一个setName方法:该怎么办呢??

若使用person.setName = function( name ){

this.name = name ;

}

则只有这个对象可以调用此方法

person.setName( " DD");

alert(person.name); //name的 值为DD

但是如果再创建个对象

var person2 = new Person("AA", 24);

则依旧没有setName这个方法,如果想要所有通过new Person();创建的对象都有setName这个方法的话,则可以使用prototype这个属性,如下:

Person.prototype = {

sex:"男",

setName: function( name) {

this .name = name;

}

}

可以测试一下:

person2.setName("gg");

alert(person2.name); //结果为gg

alert(person2.sex);//男
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: