Javascript函数/未定义错误 - 提示计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript函数/未定义错误 - 提示计算相关的知识,希望对你有一定的参考价值。
在学习javascript并尝试解决挑战问题时,我的代码不断输出“未定义的值”。
我的代码:
function paidAmount(bill){
var tipPercent
if (bill < 50){
tipPercent = 0.20;
}
else if (bill >= 50 && bill <=200){
tipPercent = 0.15;
}
else{
tipPercent = 0.10;
}
return bill * tipPercent;
}
var tip1 = console.log(paidAmount(124));
var tip2 = console.log(paidAmount(48));
var tip3 = console.log(paidAmount(268));
var tipTotal = [tip1, tip2, tip3];
console.log(tipTotal);
输出:
18.599999999999998
9.600000000000001
26.8
(3) [undefined, undefined, undefined]
答案
您无法分配console.log
内的值。让它们分开
function paidAmount(bill){
var tipPercent
if (bill < 50){
tipPercent = 0.20;
}
else if (bill >= 50 && bill <=200){
tipPercent = 0.15;
}
else{
tipPercent = 0.10;
}
return bill * tipPercent;
}
var tip1 = paidAmount(124);
var tip2 = paidAmount(48);
var tip3 = paidAmount(268);
console.log(paidAmount(124));
console.log(paidAmount(268));
console.log(paidAmount(48));
var tipTotal = [tip1, tip2, tip3];
console.log(tipTotal);
另一答案
[console.log(tip1),console.log(tip2),...]
错了,但你可以尝试另一种方式:
function paidAmount(bill) {
var tipTotal = [] ;
var tipPercent ;
for (value of bill) {
tipPercent = (value < 50 ) ? 0.20 : ( ( value >= 50 && value <= 200) ? 0.15 : 0.10 ) ;
tipTotal.push( value * tipPercent ) ;
}
return tipTotal ;
}
console.log( paidAmount([124, 48, 268]) );
另一答案
console.log返回undefined。有关详细信息,请参阅下面链接的规范。
此外,在您的示例中,您不必将结果存储到变量tip1,tip2,tip3中。
相反,您可以直接调用console.log中的paidAmount:
console.log(paidAmount(124), paidAmount(48), paidAmount(268));
以上是关于Javascript函数/未定义错误 - 提示计算的主要内容,如果未能解决你的问题,请参考以下文章
Bourbon Refills Navigation JavaScript 错误:未捕获类型错误:未定义不是函数