js创建对象的几种方法

时间:2023-01-09 20:14:34
1. json方法
1 var person = {
2             name: 'xm', 3 sex: 'male', 4 action: function () { 5 console.log(this.name); 6  } 7  }; 8  person.action(); 9 console.log(person);
输出如下

js创建对象的几种方法

 

2. Object方法
1 var person = new Object();
2         person.name = 'xm'; 3 person.sex = 'male'; 4 person.action = function(){ 5 console.log(this.name); 6  }; 7  person.action(); 8 console.log(person);

js创建对象的几种方法

 

3. 构造函数方法

 1 function act(name, sex) {
 2             this.name = name; 3 this.sex =sex; 4 this.action = function () { 5 console.log(this.name); 6  } 7  } 8 var person = new act('xm', 'male'); 9  person.action(); 10 console.log(person);

 js创建对象的几种方法

 

4. 工厂模式

 1 function act(name, sex) {
 2             var obj = new Object(); 3 obj.name = name; 4 obj.sex = sex; 5 obj.action = function () { 6 console.log(this.name); 7  }; 8 return obj; 9  } 10 var person = act('xm', 'male'); 11  person.action(); 12 console.log(person);

js创建对象的几种方法

 

5.原型模式

 1 function act() {
 2  } 3 act.prototype.name = 'xm'; 4 act.prototype.sex = 'male'; 5 act.prototype.action = function () { 6 console.log(this.name); 7  }; 8 var person = new act(); 9  person.action(); 10 console.log(person);

js创建对象的几种方法

 

6.混合模式 构造 + 原型

 1 function act(name, sex) {
 2             this.name = name; 3 this.sex = sex; 4 this.action = function () { 5 console.log(this.name); 6  }; 7  } 8 act.prototype = { 9 friend: 'xh', 10 say: function () { 11 console.log(this.friend); 12  } 13  }; 14 var person = new act('xm', 'male'); 15  person.action(); 16  person.say(); 17 console.log(person);

js创建对象的几种方法