我还是Java语言,switch语句和其他编程概念的新手。我的问题是,每当我尝试访问案例2时,它总是返回NaN而不是整数值或数字。我的参数在console.log()中无效吗?还是我使用switch语句不正确?
const constantVol = (num, T1, T2, P1, P2) => {
let choice = num;
switch(choice){
case 1:
choice = (T2 / T1) * P1;
break;
case 2:
choice = (P2 * T1) / P1;
break;
default:
choice = "Not valid"
break;
}
return choice;
}
console.log(constantVol(num=2, P2=16.33, P1=3.4, T1=296.5));
答案 0 :(得分:0)
因此我们在Javascript中没有命名参数,但是我们可以使用对象分解来模拟相似的语法。
我正在将名称作为一个参数的对象映射传递到函数{key:value}中,然后使用解构从属性中获取命名变量var [key] = value。
const constantVol = ({num, T1, T2, P1, P2}) => {
let choice = num;
switch(choice){
case 1:
choice = (T2 / T1) * P1;
break;
case 2:
choice = (P2 * T1) / P1;
break;
default:
choice = "Not valid"
break;
}
return choice;
}
console.log(constantVol({num: 2, P2: 16.33, P1: 3.4, T1: 296.5}));
答案 1 :(得分:0)
调用函数时,您需要以正确的顺序将值发送到所有参数。在这里,constantVol函数期望有5个值,而您只发送4个值。此外,它们将按照传递的顺序进行读取,调用时是否添加变量都没有关系。 因此,当您致电
constantVol = (num, T1, T2, P1, P2)
使用
console.log(constantVol(num=2, P2=16.33, P1=3.4, T1=296.5));
您得到:
num = 2
T1 = 16.33
T2 = 3.4
P1 = 296.5
P2 = undefined
答案 2 :(得分:-1)
我对JacaScript也不太熟悉,但是 您的代码似乎没有为P2赋予价值?
但是我只是看到您想进行案例2。 但是,如果您进行数学运算,则会使用默认情况,因为结果不是2