function basketPrice(product, vat, delivery) {
var total = product + vat + delivery;
delivery = 7.5;
vat = 20/100 * product;
return total
}
basketPrice(150);
所以,仅仅为了记录,我开始在一周后开始研究JavaScript,所以请原谅任何愚蠢的错误或行话。
上面我试图生成一个非常简单的输出。我确定这不是你在电子商务网站上制作一个篮子的方式,但这只是我用来帮助我练习的一个例子。
我以为我把它弄下来直到我的结果是NaN
(我知道这意味着不是一个数字)但我不知道它与它有什么关系以及为什么。
我正在寻找一个解释(尽可能简单)我出错的地方。任何帮助表示赞赏。
提前谢谢。
答案 0 :(得分:2)
function basketPrice(product, vat, delivery){
console.log(product,vat,delivery);//150,undefined,undefined
var total=product + vat + delivery;//150+undefined is not a number
delivery=7.5;//now its to late to change sth
vat = 0.2 * product;
return total;
}
basketPrice(150);
在计算总数后设置变量。因此可以在计算总数之前使用默认值和/或设置它们:
function basketPrice(product, vat, delivery=7.5){
console.log(product,vat,delivery);//150,undefined,7.5
vat = vat || 0.2 * product;
var total=product + vat + delivery;// is a number
return total;
}
basketPrice(150);
basketPrice(1,2);
basketPrice(1,2,3);
如果你真的不希望这两个参数,那就更简单了:
function basketPrice(product){
return product * 1.2 + 7.5;
}
或简称:
basketPrice=p=>p*1.2+7.5;
答案 1 :(得分:0)
你正在调用一个只需要一个参数的3个参数的函数,因此总计算变为NaN(非数字)。
答案 2 :(得分:0)
function basketPrice(product, delivery) {
vat = (20/100 ) * product;
var total = product + vat + delivery;
return total;
}
basketPrice(150,7.5);