• javascript插件制作学习-制作步骤


    原生JavaScript插件开发学习

    自己制作的demo大家可以看下https://www.cnblogs.com/zimengxiyu/p/9814889.html

    插件制作步骤:

    (一)构造函数 使用时new一下生成新的实例

    var myUtil=function(name,age){
        this.name=name;
        this.age=age;
    }

    (二)使用原型模式  可以让多个实例的使用一个方法

    var myUtil=function(name,age){
        this.name=name;
        this.age=age;
    }
    
    myUtil.prototype={
    
      // 将构造函数置为MathUtil,这里一定要将constructor重新设置回MathUtil,不然会指向Object的构造函数 
      constructor:myUtil,
        add: function(a, b) {      
            var result= a + b;      
            alert("result == " + result);      
        }
    }

    (三)用来与外部变量隔绝以防污染全局变量。把以上代码放入其中

    (function(window){
       var myUtil=function(name,age){
             this.name=name;
             this.age=age;
        }
    
       myUtil.prototype={
            // 将构造函数置为MathUtil,这里一定要将constructor重新设置回MathUtil,不    然会指向Object的构造函数 
            constructor: MathUtil,
            add: function(a, b) {      
            var result= a + b;      
            alert("result == " + result);      
            }
      }
    window.myUtil=myUtil;//把代码挂载到window上以便外面调用 })(window)

    (四)使用时new一下就可以调用里面的方法了

    !(function(window) {
             var myUtil = function(name, age) {
                        this.name = name;
                        this.age = age;
                    }
    
              myUtil.prototype = {
                        //将构造函数置为myUtil,这里一定要将constructor重新设置回myUtil,不 然会指向Object的构造函数 
                        //有轻度强迫症的表示最好重定向回来,避免挖坑
                 constructor: myUtil,
                        add: function(a, b) {
                            var result = a + b;
                            alert("result == " + result);
                        }
                    }
               window.myUtil = myUtil; //把代码挂载到window上以便外面调用
    })(window)
    
                var v1 = new myUtil("hellow", 14);
                v1.add(3,5);

    这样一个JavaScript插件小demo就完成了

    我们一般把插件都放到一个闭包这样做的好处是用来与外部变量隔绝以防污染全局变量。

    !(function(){
              
     })()
  • 相关阅读:
    BZOJ 5308 [ZJOI2018] Day2T2 胖 | 二分 ST表
    CodeForces 464E The Classic Problem | 呆克斯歘 主席树维护高精度
    BZOJ5298 [CQOI2018] 交错序列 | 矩阵乘法和一个trick
    # BZOJ5300 [CQOI2018]九连环 题解 | 高精度 FFT
    [BZOJ5248] 2018九省联考 D1T1 一双木棋 | 博弈论 状压DP
    【2018九省联考】后的瞎扯
    BZOJ 4671 异或图 | 线性基 容斥 DFS
    Luogu 4294 [WC2008]游览计划 | 斯坦纳树
    BZOJ 2434 阿狸的打字机 | AC自动机
    UOJ#7. 【NOI2014】购票 | 线段树 凸包优化DP
  • 原文地址:https://www.cnblogs.com/zimengxiyu/p/9781324.html
Copyright © 2020-2023  润新知