老师,检查一下,顺便问个问题

来源:4-14 项目作业

母鸡阿

2021-05-30 23:08:32

老师,我其实想,result.value=num1.value然后操作符(operate.value)接着是num2.value,但是操作符是字符串,计算不了,有没有更简单的计算方法

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</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=' = ' id="btn" />

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


    <script>

        function $(id){

            return typeof id === "string"? document.getElementById(id) : null;

        }

        let num1 = $('num1');

        let operate = $('operate');

        let num2 = $('num2');

        let btn = $('btn');

        let result = $('result');

        btn.onclick = function(){

            let n1 = Number(num1.value);

            let n2 = Number(num2.value);

            switch(operate.value){

                case '+': result.value = n1+n2;break;

                case '-': result.value = n1 - n2; break;

                case '*': result.value = n1 * n2; break;

                case '/': result.value = n1 / n2; break;

            }

        }

    </script>

</body>

</html>


写回答

1回答

好帮手慕星星

2021-05-31

同学你好,代码逻辑没问题,很棒!

另外如果想用同学想的那种方式,可以用eval()方法,此方法可计算某个字符串,并执行其中的的 JavaScript 代码。如下:

http://img.mukewang.com/climg/60b456f3098b794a06480190.jpg
自己测试下,祝学习愉快!

0

0 学习 · 15276 问题

查看课程