Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TaxCalculator函数Javascript代码不工作_Javascript_Calculator - Fatal编程技术网

TaxCalculator函数Javascript代码不工作

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

//我被要求定义一个名为taxCalculator的函数,它接受一个项目和一个状态的价格。税务计算器应生成税后金额。如果纽约州为4%的销售税,而新泽西州为6.625%的销售税

谢谢大家!

这是错误的,您的“state”变量是函数中的参数。请尝试:

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';