JavaScript中创建对象的方式
2013-07-13 23:21
99 查看
JavaScript中创建对象的方式有多种,这里只介绍三种:构造函数模式、原型模式、组合使用构造函数模式和原型模式(推荐)
1、构造函数模式
2、原型模式
某一个对象修改这个属性值,会影响到其它对象。
3、组合使用构造函数模式和原型模式(推荐方式)
JS创建对象的方式除了以上三种,还有其它多种方式,请参考文章http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html
1、构造函数模式
function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }; } var person1 = new Person("Nicholas", 29, "software engineer"); var person2 = new Person("Greg", 27, "doctor");缺点:使用构造函数的问题就是每个方法都要在新创建的实例上重新创建一遍。
2、原型模式
function Person(){} Person.prototype = { constructor : Person, name : "Nicholas", age : 29, job : "software engineer", friends : ["Shelby","Court"], sayName : function(){ alert(this.name); } }; var person1 = new Person(); var person2 = new Person(); person1.friends.push("Van"); alert(person1.friends); //"Shelby,Court,Van" alert(person2.friends); //"Shelby,Court,Van" alert(person1.friends === person2.friends); //true缺点:使用原型方式的一个突出问题在于如果包含引用类型的属性(Person.friends),那么
某一个对象修改这个属性值,会影响到其它对象。
3、组合使用构造函数模式和原型模式(推荐方式)
function Person(name, age, job){ this.name = name; this.age = age; this.job = job; this.friends = ["Shelby","Court"]; } Person.prototype = { constructor : Person, sayName : function(){ alert(this.name); } }; var person1 = new Person("Nicholas", 29, "software engineer"); var person2 = new Person("Greg", 27, "doctor"); person1.friends.push("Van"); alert(person1.friends); //"Shelby,Court,Van" alert(person2.friends); //"Shelby,Court" alert(person1.friends === person2.friends); //false alert(person1.sayName === person2.sayName); //true
JS创建对象的方式除了以上三种,还有其它多种方式,请参考文章http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html
相关文章推荐
- JavaScript 创建对象的方式
- javascript创建对象的一些方式
- JavaScript中对象创建的几种方式
- Javascript创建对象的几种方式【转】
- javascript中创建对象的几种方式
- javascript常用创建对象的方式
- JavaScript学习笔记-02对象创建方式
- JavaScript对象创建的几种方式
- javascript 创建对象的几种方式
- Javascript复习第五天几种对象的创建方式
- JavaScript创建对象的几种方式
- Javascript创建对象的几种方式
- javascript 创建对象的几种方式
- javascript --创建对象的9种方式
- Javascript创建XMLHttpRequest对象的3种方式
- javascript对象创建方式
- 详细分析Javascript中创建对象的四种方式
- JavaScript中对象的创建有以下几种方式
- JavaScript中创建对象的几种方式
- JavaScript 创建类/对象的几种方式