单例模式虽然实现了分组,但是还处于手工作业模式,不能实现批量的生产
工厂模式
实现一个方法,把实现同一个功能的代码进行封装,以后再想实现这个功能,就不需要再重新编写这些代码了,直接的执行这个方法即可
作用:减少页面当中的冗余代码,提高代码的重复利用率--"低耦合高内聚"
函数的封装:把相同的代码放在一个函数中
函数的多态:根据传递参数值的不一样,实现不同的功能需求,这样一个函数就具有了多种的功能形态
function createJsPerson(name, age, isBack) { var obj = {}; obj.name = name; obj.age = age; obj.writeCss = function () { console.log("my name is " + this.name + ",i can write css!"); } obj.writeJs = function () { console.log("my name is " + this.name + ",i can write javascript!"); } //如果你传递给我的isBack是true,代表你有后台的经验 if (isBack) { obj.writeNode = function () { console.log("my name is " + this.name + ",i can write node.js!"); } } return obj; } var p1 = createJsPerson("A同学", 22); p1.writeCss(); var p2 = createJsPerson("B同学", 25); p2.writeJs();
后台:重载、重写
重载:方法名相同,但是参数不同
js中是不存在重载的,方法名相同的时候,后面的方法会把前面的方法覆盖掉
sum();
function sum(num1) {
}
function sum(num1, num2) {
}