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);

封装成类

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);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 时间已经超过十二点了,该是算第二天了,一天一篇好像是不能算数了,不过还好我依然醒着,故事跟键盘陪着身旁。 由于最近...
    不知春阿阅读 1,450评论 0 0
  • 你我花下, 便是唯美。 清风徐来, 青丝柳眉。 柳眉青丝, 徐来清风。 唯美便是, 花下你我。
    uncle罗阅读 2,790评论 2 3
  • 竹叶一樽酒, 荷香四座风。
    宗林的李阅读 3,369评论 3 4

友情链接更多精彩内容