javascript if if else logic
javascript if if else logic
我的代码中有某种逻辑错误,但我不确定在哪里。
- 当经过的时间从
00:07:59
变为00:08:00
时,颜色从黄色切换回来,这发生在00:05:00
- 在
00:10:00
,它从灰色变为红色
我的逻辑允许00:08:00
和00:09:59
之间的任何时间满足第一个条件,即小于5。
if (parseInt(this.minutes) < 5) {
fontColor = "<Font class='"Gray'">";
} else if (parseInt(this.minutes) >= 5 && parseInt(this.minutes) < 10){
fontColor = "<Font class='"Yellow'">";
} else {
fontColor = "<Font class='"Red'">";
}
这是parseInt中的一个特性(而不是bug!)。
当字符串以0开头时,它会以八进制(以8为基数)而不是十进制(以10为基数)对其进行解析。只需传递第二个参数10,它就会使用这个基数进行解析。
if (parseInt(this.minutes, 10) < 5) {
fontColor = "<Font class='"Gray'">";
} else if (parseInt(this.minutes, 10) >= 5 && parseInt(this.minutes, 10) < 10) {
fontColor = "<Font class='"Yellow'">";
} else {
fontColor = "<Font class='"Red'">";
}
即使不知道this.minutes
中存储了什么,我猜您也会因为parseInt()
缺少radix
值而遇到麻烦。
由于您提到了以0
开头的数字,这很可能是因为parseInt将这些数字假定为八进制值。
因此,简单的解决方案是,将基数设置为10
以指定十进制值:
if (parseInt(this.minutes, 10) < 5) {
}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如果 a 为 false,则 if(a) === if(false)
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 正在尝试使用if和else添加类,但无法正常工作
- 在PHP中使用javascript更改页面标题'if'
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- 什么是&&在没有if的行中的变量之间
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- Sharepoint JScript if语句未执行
- Javascript:If-then语句在函数中不起作用
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 对于loop.if-仅在经过所有间隔后返回true
- Javascript Return and if/else
- Javascript nested if
- Javascript Logic In a loop/if statement
- javascript if if else logic