zoukankan      html  css  js  c++  java
  • js模块化

    在js中借助匿名函数实现功能的模块化

    下面实现一个计算器模块

    计算器得有 加(add) 减() 乘(multi) 除(diliver) 的功能,并且它们应该以  xx.add(1,2)的形式调用

    废话不多说,上代码

    var cal = (function() {
        return {
            'add':function(a,b) {
                return a+b;
            },
            'multi':function(a,b) {
                return a*b;
            }
        };
    })();
    
    console.log(cal.add(1,2));
    console.log(cal.multi(3,4));

    cal模块实现了加和减

    通过cal.add(1,2),cal.multi(1,2)调用cal模块的方法。

    还有一种更清晰的写法,like this

    var cal = (function() {
        var add = function(a,b) {
                return a+b;
            },
            multi = function(a,b) {
                return a*b;
            };
            
        return {
            'add':add,
            'multi':multi
        };
    })();
    
    console.log(cal.add(1,2));
    console.log(cal.multi(3,4));

    或许你还想在模块定义的时候初始化某些东西

    var attr = 'Hello World!';
    var cal = (function(attr) {
        var add = function(a,b) {
                return a+b;
            },
            multi = function(a,b) {
                return a*b;
            },
            getAttr = function() {
                return this.attr;
            };
            
        return {
            'add':add,
            'multi':multi,
            'attr':attr,
            'getAttr':getAttr
        };
    })(attr);
    
    console.log(cal.add(1,2));
    console.log(cal.multi(3,4));
    console.log(cal.getAttr());

    很简单吧。

  • 相关阅读:
    个人冲刺8
    个人冲刺7
    个人冲刺6
    个人冲刺5
    个人冲刺4
    个人冲刺阶段3
    个人冲刺阶段2
    课下作业1-扩展阅读
    随手快递app开发的第四天
    随手快递app开发的第三天
  • 原文地址:https://www.cnblogs.com/mtima/p/3095947.html
Copyright © 2011-2022 走看看