TaxCalculator函数Javascript代码不工作
//我被要求定义一个名为taxCalculator的函数,它接受一个项目和一个状态的价格。税务计算器应生成税后金额。如果纽约州为4%的销售税,而新泽西州为6.625%的销售税 谢谢大家! 这是错误的,您的“state”变量是函数中的参数。请尝试:TaxCalculator函数Javascript代码不工作,javascript,calculator,Javascript,Calculator,//我被要求定义一个名为taxCalculator的函数,它接受一个项目和一个状态的价格。税务计算器应生成税后金额。如果纽约州为4%的销售税,而新泽西州为6.625%的销售税 谢谢大家! 这是错误的,您的“state”变量是函数中的参数。请尝试: const taxCalculator (price, state) => { let state = 'NY' || 'NJ'; if (state === 'NY'){ return price * 1.04
const taxCalculator (price, state) => {
let state = 'NY' || 'NJ';
if (state === 'NY'){
return price * 1.04;
} else {
return price * 1.06625;
}
}
}
此外,如果您想支持除NY和NJ以外的其他情况,您可以使用内部的开关函数来比较“state”变量值。修复了代码,请尝试以下操作:
function taxtaxCalculator(price, state) {
let resp
switch (state) {
case 'NY':
resp = price * 1.04
break;
case 'NJ':
resp = price * 1.06625
break;
default:
//Another case not defined in the question.
resp = price * 1
break;
}
return resp
console.log(taxCalculator(100,'NY')) 箭头函数语法:
缺少第一个=
const taxCalculator = (price, state) => {
if (state === 'NY' ) {
return price * 1.04;
} else {
return price * 1.06625;
}
}
状态
已声明为第二个参数--remove让
使其有效--删除整个表达式,因为它没有用处:
|var, const, let| identifier = (@param1, ...@paramN) => {...
...
return result;
}
const taxCalculator = (price, state) => {...
if/else
语句已经对state
是否为'NY'
进行了排序。上面的表达式甚至根本没有定义、修改等状态
演示 注意:在演示中评论了详细信息
/*
=两个三元组:
-如果州为“NY”[?],则税为1.04
[:]如果州为“NJ”[?],则税款为1.06625
[:]否则税就没什么了
-如果税不算什么[?],则返回一条消息
[:]否则,将价格和税收的乘积作为
以“$”为前缀并截断为2个小数的字符串。
*/
const taxCalculator=(价格、州)=>{
让tax=state==='NY'?1.04:state=='NJ'?1.06625:null;
返回税===null?`${state}未识别`:'$'+(价格*税).toFixed(2);
}
console.log(taxCalculator(5.29,'NJ'));
console.log(taxCalculator(5.29,'CA'));
console.log(taxCalculator(5.29,'NY'))代码>函数命名不正确,胖箭头函数应该是这样的:const taxCalculator=()=>{…}这段代码很难阅读。使用此代码也很难支持其他情况。返回时,您不需要else
let state = 'NY' || 'NJ';