【发布时间】:2013-06-02 11:34:20
【问题描述】:
您将如何更有效地进行编程?
if( randomYear%4==0 ) {
if( randomYear%100==0 ) {
if( randomYear%400==0 ) {
randomDay = 1 + Math.floor(Math.random()*29);
}
else {
randomDay = 1 + Math.floor(Math.random()*28);
}
else{
randomDay = 1 + Math.floor(Math.random()*29);
}
else{
randomDay = 1 + Math.floor(Math.random()*28);
}
首先,我使用的是 math.floor,因为它包含 0 并且不包含 1,这正是我要寻找的。这样做的目的是确定变量 'randomYear' 是否是闰年并且在二月有适当的日子。
我主要关心所有 if 和 else 语句。顺便说一句,我正在使用 Javascript。 非常感谢!!
【问题讨论】:
-
使用
Date类型,它会为您完成所有这些工作。 -
您也可以将
1 + Math.floor()替换为Math.ceil() -
@jcsanyi - 不,你不能:
Math.random()可能返回0。 -
@nnnnnn - 你是对的。谢谢。
标签: javascript performance if-statement