原型模式:用原型实例指向创建对象的类,使这些类共享原型对象的方法与属性,使用于创建新的对象的类共享原型对象的属性以及方法。
焦点图为例:假设页面中有很多焦点图,那么我们要实现这些焦点图最好的方式就是通过创建对象来一一实现。并且,切换动画一般是多样化的,有可能上下切换,也有可能左右切换,或者渐隐切换,放缩切换等。因此我们应该抽象出一个基类,让不同特效类去继承这个基类,然后对于差异化的需求通过重写这些继承下来的属性或者方法来解决。
//图片轮播基类
var LoopImages = function(imgArr,container){
this.imagesArray = imgArr;//轮播图片数组
this.container = container;//轮播图片容器
this.createImage = function(){}//创建轮播图片
this.chageImage = function(){}//切换下一张
}
//上下滑动切换类
var SlideLoopImg = function(imgArr,container){
//构造函数继承图片轮播类
LoopImages.call(this,imgArr,container);
//重写继承的切换下一张图片方法
this.chageImage = function(){
console.log('SlideLoopImg changeImage fnction');
}
}
//渐隐切换类
varFadeLoopImg = function(imgArr,container,arrow){
LoopImages.call(this,imgArr,container);
//切换箭头私有变量
this.arrow = arrow