原型模式 -- JavaScript语言的灵魂

Posted 佳琪欧尼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原型模式 -- JavaScript语言的灵魂相关的知识,希望对你有一定的参考价值。

原型模式就是将原型对象指向创建对象的类,使这些类共享原型对象的方法与属性。JS是基于原型链实现对象之间的继承,是对属性或者方法的共享,而不是对属性和方法的复制。

 

    // 图片轮播类
    var LoopImages = function (imgArr, container) {
        this.imagesArray = imgArr;
        this.container = container;
    }
    LoopImages.prototype = {
        // 创建轮播图片
        createImage:function () {
            console.log(‘LoopImages createImage function‘);
        },
        // 切换下一张图片
        changeImage:function () {
            console.log(‘LoopImages changeImage function‘);
        }
    }
    // 上下滑动切换类
    var SlideLoopImg = function (imgArr, container) {
        // 构造函数继承图片轮播类
        LoopImages.call(this,imgArr,container);
    }
    SlideLoopImg.prototype = new LoopImages();
    // 重写继承的切换下一张图片方法
    SlideLoopImg.prototype.changeImage = function () {
        console.log(‘SlideLoopImg changeImage function‘)
    }
    // 渐隐切换类
    var FadeLoopImg = function (imgArr, container,arrow) {
        // 构造函数继承图片轮播类
        LoopImages.call(this,imgArr,container);
        // 切换箭头私有变量
        this.arrow = arrow;
    }
    FadeLoopImg.prototype = new LoopImages();
    FadeLoopImg.prototype.changeImage = function () {
        console.log(‘FadeLoopImg changeImage function‘)
    }
    // 测试用例
    console.log(fageImg.container); //slide
    fadeImg.changeImg(); //FadeLoopImg changeImage function

 

以上是关于原型模式 -- JavaScript语言的灵魂的主要内容,如果未能解决你的问题,请参考以下文章

⑤创建型设计模式原型模式

js 设计模式

javascript继承

javascript构造函数及原型对象

JS原型+原型链+设计模式

OO Javascript 构造函数模式:新古典与原型