模块化代码练习

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>IndexABC</title>
</head>
<body>
    
    <div class="el"> EL </div>

    <button id="change"> `Number` </button>


</body>
<script>

    // 计算器 calc
    let calc     = {},
        main     = {entry: 'enter'},
        config     = {tag: 'on', status: 'normal'}; 


    calc.all = (function(m, conf){

        // console.log(m, config);


        // type
        // 1, 2
        // let method_user_point = function(type){
        //     // type

        //     let after = m.support();

        // }

        m.errlog = new Map();

        m.check = function(sign){
                let val,
                    flag = ["+","-","*","/"].includes(sign)? true :  false ;    

                 if( !flag )  m.errlog.set(0,{msg:"运算符不存在, 必须是 +,—, * ,/", code:1} );
                 return {compute: m.compute(sign)};
        }


        m.compute = function(sign){
            let val;
            return function(a, b){
                switch (sign){
                case "+":
                    val = a + b;
                    break;
                case "-":
                    val = a-b;
                    break;
                case "*":
                    val = a*b;
                    break;
                case "/":
                    val = a/b;
                    break;
                default:
                    // val = "wrong";
                    m.errlog.set(1, {msg:"运算符不存在, 必须是 +,—, * ,/", code:1} )
                }

                return {result: m.result(val || null)};
            }
        }

        m.result = function(msg){
            if(!msg){
                return m.errlog;
            }
            // console.log(msg);
            return msg;
        }

        return m;

    })(main || {}, config);


    // console.log( main.check("*").compute(3, 5).result );
    // console.log( main.check("?").compute(3, 5).result );




</script>
</html>

 

posted @ 2019-05-08 17:02  aocn  阅读(112)  评论(0)    收藏  举报