12 JavaScript语言进阶-工厂模式

工厂模式

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

发布了104 篇原创文章 · 获赞 64 · 访问量 5638

猜你喜欢

转载自blog.csdn.net/qq_42873753/article/details/100898213