工厂模式
1,工厂模式
工厂模式又称函数的封装,是把实现同一事件的相同代码编写在一个函数中,以后再实现此功能只需执行当前函数即可,减少页面中冗余代码提高代码重复利用率,更好的实现低耦合高内聚的思想。
示例:
function createPerson(name,age){
var obj = {};//创建空对象
obj.name = name;//对象添加属性
obj.age = age;//同上
obj.say = function(){//对象添加行为
console.log("My name is"+ this.name+",I can say English.");
};
return obj;
}
//利用工厂函数创造“人”
var person1 = createPerson("小明",18);
var person2 = createPerson("小花",10);
//不同对象调用函数
person1.say();// My name is 小明,I can say English.
person2.say();// My name is 小花,I can say English.
2,JavaScript有重写无重载
面向对象语言存在多态特征,多态包括重写和重载,而JavaScript语言与面向对象的后端编程语言如Java不同,它不存在重载。但可以实现子类重写父类的方法。
3,类似重载
JavaScript中不存在重载,但可以根据同一个函数传递参数的不同来实现不同的功能,看起来像重载。
示例:
function sum(number){
if(typyof number === "undefined"){
return 0;
}
return number;
}
sum(200);//向sum函数中传一个函数,输出200
sum();//向sum函数中不传值,输出0