1、组合使用原型和构造函数式(定义一个类 开发中最常用)
function Persion(name,age,friends) {
this.name = name;
this.age = age;
this.friends = friends;
};
Persion.prototype = {
constructor:Persion,
sayName: function() {
alert(this.name);
}
};
var p1 = new Persion('z3',28,['C5','D6']);
var p2 = new Persion('z6',20,['C8','D9']);
alert(p1.friends); //'C5','D6'
p1.sayName() //z3
alert(p2.friends); //'C8','D9'
p2.sayName() //z6
2、动态原型数式(让你的代码 封装在一起)
function Persion(name, age, friends) {
this.name = name;
this.age = age;
this.friends = friends;
//动态原型方法:
if (typeof(this.sayName) != 'function') {
Persion.prototype.sayName = function() {
alert(this.name);
}
}
};
var p1 = new Persion('z3', 28, ['C5', 'D6']);
var p2 = new Persion('z6', 20, ['C8', 'D9']);
alert(p1.friends); //'C5','D6'
p1.sayName() //z3
alert(p2.friends); //'C8','D9'
p2.sayName() //z6
3、稳妥构造函数式:durable object(稳妥对象) 这种方式最安全
function Persion(name) {
//创建一个要返回的对象
var obj = new Object();
//可以定义一个私有变量和函数 private
var name = name;
//添加一个方法
obj.sayName = function() {
alert(name);
}
//最后返回这个对象 接口
return obj;
};
var p1 = new Persion('z3');
p1.sayName() //z3