请老师检查一下

请老师检查一下

<!DOCTYPE html> 

<html lang="zh-CN"> 

<head> 

    <meta charset="UTF-8" /> 

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

</head> 

<body> 

<script type="text/javascript"> 

//在此处补充代码

function add(a,b) {

    function isNumber(a,b) {

        var numa=isNaN(a);

        var numb=isNaN(b);

        if ((numa==numb)&&(numa==false)) {

            return false;

        }else{

            return true;

        }


    }

     var isnum=isNumber(a,b)

     if (isnum==false) {

         return document.write(parseInt(a)+parseInt(b));

     } else {

        return document.write("请传入数字类型的参数");

     }

}

</script> 

</body> 

</html>




正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这里同学说的是对的,第一点和第三点老师确实描述的不对,很抱歉。另外,修改后的代码实现的不错,继续加油。

祝学习愉快 !

好帮手慕夭夭 2020-03-13 16:34:59

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

1.调用函数时传入的是实参,但是同学这里只传入了两个变量,且代码中并没有使用var定义这两个变量。

http://img1.sycdn.imooc.com//climg/5e6b42c309d4841b05260055.jpg

2.add函数没有调用,所以里面的代码都执行不了。

3.判断numa == numb这个条件是不对的。它们可以同时为true 也可以同时为false 。也就是传入两个数字或者非数值这个条件都会成立。

综上所述,参考如下调整优化:

http://img1.sycdn.imooc.com//climg/5e6b45ae0977675f10540760.jpg

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

  • 提问者 席萌萌 #1
    老师您好。 您说的第一点:var isnum=isNumber(a,b),是写在add函数里的,这里的a,b在执行add函数的时候是不是就变成了实参1,2 您说的第二点:我直接在控制台测试的,加上add(1,2)是可以正常显示结果的,忘了没有在代码里加执行,感谢您的指正。 您说的第三点:numa == numb判断后,我还判断了numa==false,所以您说的“它们可以同时为true 也可以同时为false 。也就是传入两个数字或者非数值这个条件都会成立”这个应该不是这样的。 您帮我优化的代码的确更精简,我感觉我写的也没有错,就是有点臃肿,麻烦老师再确认一下您说的三个点。
    2020-03-13 17:02:04
  • 提问者 席萌萌 #2
    经过老师的指点,我把代码简化了一下改成这样,老师看可以吗 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <title>函数定义的位置</title> </head> <body> <script type="text/javascript"> //在此处补充代码 function add(a,b) { function isNumber(x,y) { if (isNaN(x)||isNaN(y)) { return true; }else{ return false; } } if (isNumber(a,b)==false) { return document.write(parseInt(a)+parseInt(b)); } else { return document.write("请传入数字类型的参数"); } } add(1,6); </script> </body> </html>
    2020-03-13 17:24:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师