【发布时间】:2021-07-07 06:11:23
【问题描述】:
这是我的代码问题
function abc(num,x,y){
return num * x + " " + num * y;
}
abc(5,2,4); //returns 10 20
abc(5,abc(5,6,6),4) //doesn't return 30 30 20
我也想知道如果我调用下面的函数(同一个函数的参数里面的函数)怎么实现-
abc(5,abc(abc(5,abc(5,6,6),abc(5,abc(5,6,6),4)))) // it must return something like how abc(5,abc(5,6,6),4) should return 30 30 20
我希望当我调用函数时,abc(5,2,abc(5,abc(5,4,4),3)) 应该每次都返回所有参数,就像 10 20 20 15 调用函数 - abc(5,2,abc(5,abc(5,4,4),3)) 如果我在函数参数/参数中放置相同的函数。
我试过了,但是当我在 abc(5,abc(5,6,6),4) 等相同的函数参数中调用函数时,function abc(num,x,y) 中的 x 变为 NaN 因此返回 NaN 20 但不是 30 30 20
如果我喜欢
function abc(num,x,y){
if(isNaN(x)){
return x + " " + y * num ; //now it returns 30 30 20 for abc(5,abc(5,6,6),4)
}
return num * x + " " + num * y;
}
但是如何让这个abc(5,abc(abc(5,abc(5,6,6),abc(5,abc(5,6,6),4)))) 以与上面编辑相同的方式返回。
【问题讨论】:
-
abc(5,abc(5,6,6),4)返回30 30 20背后的逻辑是什么?能详细点吗? -
你的函数 abc 返回一个字符串类型,你试图将它与一个数字相乘,这将导致 NaN,在调用 abc 时尝试用 parseInt 强制转换它应该没问题。
-
@LakshyaThakur 问题已编辑
abc(5,abc(5,6,6),4)返回30 20 20我想要实现的目标,但我仍在努力获取abc(5,abc(abc(5,abc(5,6,6),abc(5,abc(5,6,6),4))))的答案以同样的方式返回。
标签: javascript function parameters arguments