您现在的位置:首页 >> 前端 >> 内容

创造对象

时间:2017/4/11 8:14:00 点击:

  核心提示:创造对象:1、工厂模式,优:减少重复代码,缺:没办法判断对象类型。2、构造函数constructor每个对象都有构造函数属性与工厂模式区别1、没有显示创建对象2、属性方法赋值给this3、无retur...

创造对象:1、工厂模式,优:减少重复代码,缺:没办法判断对象类型。

2、构造函数

constructor – 每个对象都有构造函数属性

与工厂模式区别

1、没有显示创建对象
2、属性方法赋值给this
3、无return

都是new做的事。

优缺点

缺:
1、每个方法在每个实例上都要重新创建一遍。不同实例上的同名函数实际上是不同的。
2、优化后的全局函数只能被某个对象调用。

3、原型模式

prototype – 每个函数都有的原型属性

实例共享属性和方法

Parent.prototype.isPrototypeof(son1);
Object.getPrototype(son1);
son1.hasOwnProperty('name');// in
是否可枚举:Object.getOwnPropertyNames()/Object.keys();// 都在实例上
是否在原型上:in/son1.hasOwnProperty('name');

重写原型链

var Parent = function (){};
var p1 = new Parent();
Parent.prototype = {
}
var P2 = new Parent();
p1 instanceof Parent; // false
p2 instanceof Parent; // true

最新原型对象
之前原型对象

constructor属性,以及该属性的[[enumerable]]特性

可在原生对象原型中使用

优缺点

缺点:共享属性中引用类型不方便。

Tags:创造 造对 对象   
作者:网络 来源:不详