Javascript 使用if循环根据js中的输入计算价格
我对Javascript和React非常陌生,所以请容忍我。 我的应用程序中有一个组件,它从用户那里获取时间跨度,但现在我想计算用户必须支付的价格,这取决于他们的输入。我想这可能是使用if循环的最简单的方法,但是有点不对劲,我有点卡住了 我的尝试一般来说可以吗?还是需要一个单独的函数,我必须调用它才能完成我想做的事情Javascript 使用if循环根据js中的输入计算价格,javascript,react-native,if-statement,price,Javascript,React Native,If Statement,Price,我对Javascript和React非常陌生,所以请容忍我。 我的应用程序中有一个组件,它从用户那里获取时间跨度,但现在我想计算用户必须支付的价格,这取决于他们的输入。我想这可能是使用if循环的最简单的方法,但是有点不对劲,我有点卡住了 我的尝试一般来说可以吗?还是需要一个单独的函数,我必须调用它才能完成我想做的事情 onConfirm(小时、分钟){ this.setState({time:`Dauer:${hour}:${minute}}}); this.setState(如果((小时)
onConfirm(小时、分钟){
this.setState({time:`Dauer:${hour}:${minute}}});
this.setState(如果((小时)<4){返回价格=`Preis:(${hour}*1.5)€`;}
其他{返回价格='Preis:5.50欧元';});
this.TimePicker.close();
}
在对象文本中,不能使用语句,只能使用表达式<代码>如果是一条语句
如果要在表达式中执行该操作,请使用条件运算符(?:
),如下所示:
onConfirm(hour, minute) {
this.setState({
time: `Dauer: ${hour}:${minute}`,
price: hour < 4 ? `Preis: (${hour}* 1.5) €` : 'Preis: 5.50 €'
});
this.TimePicker.close();
}
onConfirm(小时、分钟){
这是我的国家({
时间:`Dauer:${hour}:${minute}`,
价格:小时<4?`Preis:(${hour}*1.5)€``Preis:5.50€'
});
this.TimePicker.close();
}
上面的条件运算符表达式为:
hour < 4 ? `Preis: (${hour}* 1.5) €` : 'Preis: 5.50 €'
hour<4`Preis:(${hour}*1.5)€“Preis:5.50€”
它是一个三值运算符(接受三个操作数的运算符):
小时<4
)`Preis:(${hour}*1.5)€`
)'Preis:5.50€
)”
(需要一个倒勾)
“truthy”和“falsy”-JavaScript隐式转换(或强制)值。当您使用值作为测试时,例如在
if
或条件运算符中,JavaScript会将您提供的值转换为布尔值(true
或false
)。转换为true
的值称为“truthy”值,转换为false
的值称为“falsy”。falsy值为NaN
,null
,未定义的,0
,”
,当然还有false
(在浏览器上,document。由于我在书中解释的各种原因,所有的都是虚假的)。所有其他值都是真实的。没有“if循环”。if
语句不是循环(循环是类似for
,while
等重复的东西)。