1、创建对象
//混合工厂 var Car = function (name, color, id) { var obj = new Object(); obj.name = name; obj.color = color; obj.id = id; obj.showColor = function () { alert(this.color); } return obj; } //混合构造函数原型 var Car = function (name, color, id) { this._name = name; this._color = color; this._id = id; } Car.prototype.showColor = function () { alert(this.color); } //动态原型 var Car = function (name, color, id) { this._name = name; this._color = color; this._id = id; if (typeof Car._initialized == "undefined") { Car.prototype.showColor = function () { alert(this.color); } Car._initialized = true; } }
业界中动态原型是主流,我们要在编写代码时对函数运行时变量在内存中的值有个清楚的认识,有构建可复用代码的意识。