请老师检查

来源:4-11 编程练习

慕斯卡0165078

2020-06-10 17:46:05

<!DOCTYPE html>

<html lang="zh-CN">


<head>

    <meta charset="UTF-8" />

    <title>函数定义的位置</title>

</head>


<body>

    <script type="text/javascript">

        debugger

        var add = function (num1, num2) {

            function isNumber(num1, num2) {

                if (!isNaN(num1) && !isNaN(num2)) {

                    return num1+"+"+num2+"="+(num1+num2);

                } else {

                    return "请传入数字类型的参数";

                }

            }

            return isNumber(num1, num2);

        };

        document.write(add(4,5));

        

    </script>

</body>


</html>


写回答

1回答

好帮手慕夭夭

2020-06-10

同学你好,当传入的是包含纯数字的字符串时,输出的结果不对:

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

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

这是因为字符串“22”在进行isNaN()方法检测时,会自动转换为数值22,所以会检测它是一个数字。字符串“22”与后面的5进行加运算时,默认进行字符串拼接,所以输出的是225。

这里字符串是纯数字的时候,进行加运算是可以的,题目中描述中是允许的,只要解决运行的结果问题即可。建议如下加一个整数转换,这样字符串转换为数字,结果就正确了:

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

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

0

0 学习 · 14456 问题

查看课程

相似问题