老师帮我看一下,为啥实现不了功能

来源:4-8 编程练习

慕斯卡0165078

2020-06-16 18:59:47

<!DOCTYPE html>

<html>


<head>

    <title> 事件</title>

</head>


<body>

    <input type='text' id='num1' />

    <select id='operate'>

        <option value='+'>+</option>

        <option value="-">-</option>

        <option value="*">*</option>

        <option value="/">/</option>

    </select>

    <input type='text' id='num2' />

    <input type='button' value=' = ' onclick="count()" />

    <input type='text' id='result' />

    <script type="text/javascript">

        

        function count() {

            /*此处写代码*/

            // 获取元素

            debugger

        var wrapElem = {

            num1: document.getElementById("num1"),

            num2: document.getElementById("num2"),

            result: document.getElementById("result"),

            operate: document.getElementById("operate")

        };


        //将计算函数放入一个对象中

        var operation = {

            add: function (num1, num2) {

                return +num1 + +num2;

            },

            subtract: function (num1, num2) {

                return num1 - num2;

            },

            multiply: function (num1, num2) {

                return num1 * num2;

            },

            divide: function () {

                return num1 / num2;

            }

        };

        //执行函数

        var operate = function(num1,num2) {

            // console.log(wrapElem.operate.value);

            switch (wrapElem.operate.value) {

                

                case "+":

                outputResult(operation.add(num1.value,num2.value));

                    break;

                case "-":

                outputResult(operation.subtract(num1.value,num2.value));

                    break;

                case "*":

                outputResult(operation.multiply(num1.value,num2.value));

                    break;

                case "/":

                outputResult(operation.divide(num1.value,num2.value));

                    break;

            }

        }

        // 输出结果

            function outputResult(result) {

                wrapElem.result.value = result;

            }



        }

    </script>

</body>


</html>


写回答

1回答

好帮手慕久久

2020-06-16

同学你好,代码中有如下问题:

1. operation的divide方法没有设置形参,修改如下:

http://img.mukewang.com/climg/5ee8a83c0915ddb205540366.jpg

2. operate方法需要调用并传参,如下:

http://img.mukewang.com/climg/5ee8a8520975220605540159.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

0

0 学习 · 14456 问题

查看课程