请老师检查

来源:4-14 项目作业

你怎么睡得着的

2022-03-14 09:40:06

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

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

</body>

<script>

    var a=document.getElementsByTagName('input');

    var b=document.getElementById('operate');

    a[2].addEventListener('click',function(){

        if(b.value=='+'){

            a[3].value = a[0].value + a[1].value;

        }else if(b.value == '-'){

            a[3].value = a[0].value - a[1].value;

        }else if(b.value == '*'){

            a[3].value = a[0].value * a[1].value;

        }else if(b.value == '/'){

            a[3].value = a[0].value / a[1].value;

        }

    },true);

</script>

</html>


问题描述:为什么我的加法算出来是错误的



写回答

1回答

好帮手慕慕子

2022-03-14

同学你好,因为通过value获取的值是字符串类型的,所以在使用+操作符时,进行了字符串拼接,导致结果不对。

建议:使用Number方法将其转成数值类型。

https://img.mukewang.com/climg/622eae410956689b07390187.jpg

老师这里再给同学提供另一种实现思路,作为扩展了解下,示例:

https://img.mukewang.com/climg/622eaf0a096e204709220765.jpg

祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程