zoukankan      html  css  js  c++  java
  • 转-js方法的封装

    为什么要进行方法的封装?
    在平时的生产环境中,我们经常写出这样的代码:

    function fAdd(iA,iB){
        return iA+iB;
    }
    function fMul(iA,iB){
        return iA-iB;
    }

    其本质上是这样的:

    var fAdd = function(iA,iB){
        return iA+iB;
    }
    var fMul = function(iA,iB){
        return iA-iB;
    }


    这样的话,我们就创建了两个全局变量,iA,iB.如果在大型的项目环境中,会有很多人对代码进行开发,很容易造成变量污染,从而引出很多问题.所以我们就要对方法进行封装.

    封装方式1: 封装成对象
    利用js中对象的特性来将我们的方法封装在对象中

    var oFuncs = {
      fAdd : function(iA,iB){
      return iA+iB;
    }
    fMul:function(iA,iB){
      return iA-iB;
      }
    }

    或者

    var oFuncs = function(){};
      oFuncs.fAdd = function(iA,iB){
      return iA+iB;
    }
    oFuncs.fMul = function(iA,iB){
      return iA-iB;
    }

    这样,我们就可以这样调用函数了

    oFuncs.fAdd(3,4);
    oFuncs.fMul(6,3);

    #
    当然,还可以这么写

    var oFuncs = function(){
      return {
        fAdd : function(iA,iB){
          return iA+iB;
        }
        fMul:function(iA,iB){
          return iA-iB;
        }
      }
    }


    这样的话,每次使用方法的时候,要先实例化一下:

    var oUseTool = oFuncs();
    oUserTool.fAdd(4,8);

    封装方式2: 封装成类

    var oFuncs = function(){
      this.fAdd = function(iA,iB){
        return iA+iB;
      }
      this.fMul = function(iA,iB){
        return iA-iB;
      }
    }
    
    var oUseTool = new oFuncs();
    oUseTool.fAdd(5,6);

    为了防止类中的方法被多次创建,我们也可以把它写在原型链上,如:

    var oFuncs = function(){}
    oFuncs.propotype.fAdd = function(iA,iB){
      return iA+iB;
    }
    oFuncs.propotype.fMul = function(iA,iB){
      return iA-iB;
    }
    
    var oUseTool = new oFuncs();
    oUseTool.fAdd(5,6);

    或者这么写:

    var oFuncs = function(){}
    oFuncs.propotype = {
      fAdd : function(iA,iB){
        return iA+iB;
      }
      fMul:function(iA,iB){
        return iA-iB;
      }
    }
    
    var oUseTool = new oFuncs();
    oUseTool.fAdd(5,6);

    ---------------------


    作者:chengyu_wang
    来源:CSDN
    原文:https://blog.csdn.net/qq_17347575/article/details/77439988
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    ubuntu中安装monodevelop
    谈谈asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用
    asp.net中的App_GlobalResources和App_LocalResources使用
    cisco通过控制口或者通过远程配置交换机
    匿名函数
    迭代器生成器
    闭包函数,装饰器
    函数之对象和名称空间与作用域
    函数
    文件操作
  • 原文地址:https://www.cnblogs.com/dragonwave/p/10372283.html
Copyright © 2011-2022 走看看