前言:我们一般使用字面量的形式直接创建对象,但是这种创建方式对于创建大量相似对象的时候,会产生大量的重复代码。但 js 和一般的面向对象的语言不同,在 ES6 之前它没有类的概念。但是我们可以使用函数来进行模拟,从而产生出可复用的对象
创建方式,我了解到的方式有这么几种:
1.对象字面量{}
var obj = {
a: 1,
b: function() {
...
}
}
2.new Object方法
var obj = new Object()
obj.a = 1;
3. 工厂函数
function createObj(a) {
var obj = new Object()
obj.a = a;
return obj;
}
var person = createObj(1)
4. 自定义构造函数
function Obj(a) {
this.a = a;
}
var obj = new Obj(1)
5. 原型模式
function Person(){
}
Person.prototype.name = "zs";
Person.prototype.age = 21;
Person.prototype.family = ["ls","ww","zl"];
Person.prototype.say = function(){
console.log(this.name)
}
6.混合模式
function Person(ame,age,family){
this.name = name;
this.age = age;
this.family = family;
}
Person.prototype = {
constructor: Person,
say: function(){
alert(this.name);
}
高程中还提到了动态原型模式,寄生构造函数模式,稳妥构造函数模式
Last but not least
如有不妥,请多指教呀~