这样写行不行?

这样写行不行?

     function add(num1,num2){

       function isNumber(){

           if(num1!==isNaN && num2!==isNaN){                //这里意思,num1和num2如果都可以转换为数字就为真

               return true;

           }else{

               return false;

                }


    if(isNumber()==true){

        document.write(num1 + num2+"<br>");}

        else if(isNumber()==false){

        document.write('请传入数字类型的参数'+"<br>");

        }

       }

}

    add(1,1)


正在回答 回答被采纳积分+1

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

1回答
好帮手慕久久 2020-05-21 18:35:50

同学你好,这样写不行,原因如下:

1. 调用add方法后,程序执行其内容的代码,其内部只有一个函数isNumber,并且没有没有调用,所以isNumber内部的代码不会执行,程序直接就结束了。

2. 即使内部的isNumber被调用了,程序也不会得到正确的结果,因为不管第一个if语句的条件是true还是false(num1 !== isNaN && num2 !== isNaN),程序都会执行return语句,而return的作用之一就是终止程序,所以程序不会执行第二个if语句。

3. “isNaN”是一个方法,它的正确使用方式是isNaN(参数)。

综上可以修改如下:

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

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

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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