zoukankan      html  css  js  c++  java
  • Javascript设计模式之创建对象的灵活性

    传统的

    /* Anim class */
    var Anim = function () {};
    Anim.prototype.start = function () {
        console.log("start");
    }
    
    Anim.prototype.stop = function () {
        console.log("stop");
    }
    
    /* Usage */
    var myAnim = new Anim();
    myAnim.start();
    myAnim.stop();
    
    

    json方式

    /* Anim class */
    var Anim = function () {};
    Anim.prototype = {
        start:function () {
            console.log("start");
        },
        stop:function () {
            console.log("stop");
        }
    }
    
    /* Usage */
    var myAnim = new Anim();
    myAnim.start();
    myAnim.stop();
    

    给Function定义一个方法

    Function.prototype.method = function (name,fn) {
        this.prototype[name] = fn;
    }
    
    var Anim = function () {};
    Anim.method('start',function(){
        console.log("start");
    });
    Anim.method('stop',function(){
        console.log("stop");
    });
    
    var myAnim = new Anim();
    myAnim.start();
    myAnim.stop();
    
    
    

    升级Function方法,可以连续使用

    Function.prototype.method = function (name,fn) {
        this.prototype[name] = fn;
        return this; // 返回对象本身
    }
    
    var Anim = function () {};
    Anim.method('start',function(){
        console.log("start");
    }).method('stop',function(){
        console.log("stop");
    });
    
    var myAnim = new Anim();
    myAnim.start();
    myAnim.stop();
    
    
    
  • 相关阅读:
    线性代数:矩阵行列式
    线性代数:逆变换
    线性代数:线性变换
    线性代数:零空间
    线性代数:向量乘法
    线性代数基础:向量组合
    线性代基础理论:向量
    线性代基础理论:矩阵
    SpringBoot 消费NSQ消息
    将Oracle中的数据放入elasticsearch
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6196914.html
Copyright © 2011-2022 走看看