let superAdmin = factory("superAdmin"); console.log(superAdmin); let admin = factory("admin"); console.log(admin); let user = factory("user"); console.log(user);
// 原型模式:原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性; var vehiclePrototype = { init: function (carModel) { this.model = carModel || "保时捷"; }, getModel: function () { console.log('车辆模具是:' + this.model); }
};
functionvehicle(model) { functionF() { }; F.prototype = vehiclePrototype; var f = new F(); f.init(model); return f; } var car = vehicle('法拉利'); car.getModel(); // 车辆模具是:法拉利
5.单例模式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// 单例模式 let SingleTon = (function(){ let instance = null returnfunction(name) { this.name = name if (instance) { return instance } return instance = this } })() SingleTon.prototype.getName = function() { console.log(this.name); }
let winner = SingleTon.getInstance('winner') console.log(winner.getName()); // winner let sunner = SingleTon.getInstance('sunner'); console.log(sunner.getName()); // winner
let superAdmin = factory('superAdmin') console.log(superAdmin.name); let admin = factory('admin') console.log(admin); let user = factory('user') console.log(user);