创建对象的方式
工厂模式,创建方式
function createPerson(name,age,job){ var o = new Object(); o.name=name; o.age=age; o.job=job; o.sayName = function(){ alert(this.name); }
return o } var person1 = createPerson("da",1,"it"); var person2 = createPerson("dada",2,"it");
构造函数模式
function Person(name,age,ob){ this.name=name; this.age=age; this.job=job; this.sayName = function(){ alert(this.name); } var person1 = new Person("dada",1,"web"); var person2 = new Person("dada",2,"web");
使用原型模式
function Person(){ } Person.prototype.name = "da"; Person.prototype.age = 1; Person.prototype.job = "web"; Person.prototype.sayName = function(){ alert(this.name); } var person1 = new Person(); person1.sayName(); //"da" var person2 = new Person(); person2.sayName(); //"da" alert(person1.sayName == person2.sayName); //true
组合使用构造函数模式和原型模式
function Person(name,age){ this.name = name; this.age = age; this.friends = ["da","dada"]; } Person.prototype = { constructor:Person, sayName:function(){ alert(this.name); } } var person1 = new Person("da1",1); var person2 = new Person("da2",2); person1.friends.push("dadada");
JavaScript对象的创建方式,1,Object构造函数式,2,对象字面量式,3,工厂模式,4,安全工厂模式,5,构造函数模式,6,原型模式,7,混合构造函数和原型模式,8,动态原型模式,9,寄生构造函数模式,10,稳妥构造函数模式。

浙公网安备 33010602011771号