zoukankan      html  css  js  c++  java
  • Javascript 5种设计风格

    1.过程式的程序设计

    <script>
    /*Start and Stop animations using functions.*/
    function startAnimation() {
    //....
    }
    function stopAnimation() {
    //....
    }
    </script>

     

    2.创建类对象

    <script>
    /* Anim class. */
    var Anim = function () {
    //...
    };
    Anim.prototype.start = function () {
    //...
    };
    Anim.prototype.stop = function () {
    //...
    };
    
    /* Usage.*/
    var myAnim = new Anim();
    myAnim.start();
    //...
    myAnim.stop();
    
    </script>

    3.把类封装在一条声明中

    <script>
    
    /* Anim class, with a slightly different syntax for declaring methods. */
    var Anim = function () {
    //...
    };
    Anim.prototype = {
    start: function () {
    //...
    },
    strop: function () {
    //...
    }
    };
    </script>

    4.添加一个方法

    <script>
    /* Add a method to the Fuction object that can be used to declare methods. */
    /* Function.prototype.method 用于为类添加新方法,两个参数。
    第一个参数:字符串,表示新方法的名称;
    第二个参数:用作新方法的函数
    */
    Function.prototype.method = function (name, fn) {
    this.prototype[name] = fn;
    }
    
    /* Anim class,with methods created using a convenience method.*/
    var Anim = function () {
    //...
    };
    Anim.method('start', function () {
    //...
    });
    Anim.method('stop', function () {
    //...
    });
    </script>

    5.链式调用

    <script>
    /* This version allows the calls to be chained. */
    Function.prototype.method = function (name, fn) {
    this.prototype[name] = fn;
    return this; //返回this,使其可以被链式调用。
    };
    
    /* Anim class,with methods created using a convenience method and chaining .*/
    var Anim = function () {
    //...
    };
    Anim.
    method('start', function () {
    //...
    }).
    method('stop', function () {
    //... 
    });
    </script>
  • 相关阅读:
    A Year Of Books
    Spring Boot 之 RESRful API 权限控制
    Git回滚远程版本
    初探设计:Java接口和抽象类何时用?怎么用?
    深入浅出: Java回调机制(异步)
    深入浅出: 大小端模式
    Java IO 之 FileInputStream & FileOutputStream源码分析
    Java IO 之 OutputStream源码
    软件测试--安装软件
    Mybatis 中$与#的区别
  • 原文地址:https://www.cnblogs.com/sxhlf/p/7000685.html
Copyright © 2011-2022 走看看