js函数调用可以用父级函数的形参吗?

js函数调用可以用父级函数的形参吗?

为什么其中的isNumber函数调用时不可以用父级函数的形参作为传递

function add(fnum,tnum){
	//负责检测数字
	function isNumber(fnum,tnum){
		return isNaN(fnum)&&isNaN(tnum);
	}
	if (isNumber(fnum,tnum) === true) {
		return "请传入数字类型的参数";
	}else{
		return fnum+tnum;
	}
}
console.log(add(12,"da"));


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

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

3回答
提问者 陌__路 2019-06-27 21:12:19

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

如上所示,不报错,函数中调用时用父函数的形参没毛病吧

  • 同学你好, 从你的截图看代码是正确的哦, 祝学习愉快~~~
    2019-06-28 09:37:34
好帮手慕星星 2019-06-26 10:27:51

你好,非常抱歉,之前给同学回复的有问题,子函数是可以使用父函数中形参的,非常抱歉给同学带来了困扰。

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

当子函数中输出a,b,c变量时,如果子函数中有相应的形参,就会输出子函数中的,如果子函数中没有就会找到父函数中的输出,结果:

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

自己可以测试下,祝学习愉快!

  • 提问者 陌__路 #1
    唉,真的是啊
    2019-06-27 21:01:17
  • 提问者 陌__路 #2
    子函数的实参也写父函数的形参可以吗? function calculate(num1,num2){ function add(num1,num2){ return num1+num2; } function subtract(num1,num2){ return num1-num2; } console.log(add(num1,num2)); console.log(subtract(num1,num2)); } calculate(13,5);
    2019-06-27 21:10:18
好帮手慕星星 2019-06-25 18:21:15

你好,子函数是不可以用父函数中形参的,如果子函数需要传参,也是需写形参的。

代码中还存在问题,需要修改:

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

如果检测出来一个参数不是数字,就需要返回提示,所以需要替换成|逻辑或。

可以重新测试下,祝学习愉快!

  • 提问者 陌__路 #1
    用了会出什么问题?
    2019-06-25 22:33:41
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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