简单练习函数显示NaN
Simple Practice Function Displays NaN
function basketPrice(product, vat, delivery) {
var total = product + vat + delivery;
delivery = 7.5;
vat = 20/100 * product;
return total
}
basketPrice(150);
所以为了记录,我大约一周前开始调查 JavaScript 所以请原谅任何愚蠢的错误或行话。
以上我试图生成一个非常简单的输出。我确定这不是您在电子商务网站上制作购物篮的方式,但这只是我用来帮助我练习的示例。
我以为我已经记下了,直到我的结果是 NaN
(我知道这意味着不是数字),但我不知道它与哪一点有关以及为什么。
我正在寻找我哪里出错的解释(尽可能简单)。感谢任何帮助。
提前致谢。
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);
您在计算总数后设置变量。因此可以使用默认值 and/or 在计算总数之前设置它们:
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;
您正在调用一个需要 3 个参数且只有一个参数的函数,因此总计的计算变为 NaN(不是数字)。
function basketPrice(product, delivery) {
vat = (20/100 ) * product;
var total = product + vat + delivery;
return total;
}
basketPrice(150,7.5);
function basketPrice(product, vat, delivery) {
var total = product + vat + delivery;
delivery = 7.5;
vat = 20/100 * product;
return total
}
basketPrice(150);
所以为了记录,我大约一周前开始调查 JavaScript 所以请原谅任何愚蠢的错误或行话。
以上我试图生成一个非常简单的输出。我确定这不是您在电子商务网站上制作购物篮的方式,但这只是我用来帮助我练习的示例。
我以为我已经记下了,直到我的结果是 NaN
(我知道这意味着不是数字),但我不知道它与哪一点有关以及为什么。
我正在寻找我哪里出错的解释(尽可能简单)。感谢任何帮助。
提前致谢。
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);
您在计算总数后设置变量。因此可以使用默认值 and/or 在计算总数之前设置它们:
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;
您正在调用一个需要 3 个参数且只有一个参数的函数,因此总计的计算变为 NaN(不是数字)。
function basketPrice(product, delivery) {
vat = (20/100 ) * product;
var total = product + vat + delivery;
return total;
}
basketPrice(150,7.5);