javascript if-else逻辑

javascript if-else逻辑,javascript,date,Javascript,Date,我的代码中有某种逻辑错误,但我不确定在哪里 当经过的时间从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.m

我的代码中有某种逻辑错误,但我不确定在哪里

  • 当经过的时间从
    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\">";
       }
    
    if(parseInt(this.minutes)<5){
    fontColor=“”;
    }else如果(parseInt(this.minutes)>=5&&parseInt(this.minutes)<10){
    fontColor=“”;
    }否则{
    fontColor=“”;
    }
    
    这是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\">";
    }
    
    if(parseInt(this.minutes,10)<5){
    fontColor=“”;
    }else如果(parseInt(this.minutes,10)>=5&&parseInt(this.minutes,10)<10){
    fontColor=“”;
    }否则{
    fontColor=“”;
    }
    
    这是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\">";
    }
    
    if(parseInt(this.minutes,10)<5){
    fontColor=“”;
    }else如果(parseInt(this.minutes,10)>=5&&parseInt(this.minutes,10)<10){
    fontColor=“”;
    }否则{
    fontColor=“”;
    }
    
    即使不知道
    this.minutes
    中存储了什么,我猜您也会遇到麻烦,因为
    parseInt()
    缺少
    基数

    由于您提到了以
    0
    开头的数字,这很可能是因为parseInt假设这些数字是八进制值

    因此,简单的解决方案是,将基数设置为
    10
    ,以指定十进制值:

    if (parseInt(this.minutes, 10) < 5) {
    }
    
    if(parseInt(this.minutes,10)<5){
    }
    
    即使不知道
    this.minutes
    中存储了什么,我猜您也会遇到麻烦,因为
    parseInt()
    缺少
    基数

    由于您提到了以
    0
    开头的数字,这很可能是因为parseInt假设这些数字是八进制值

    因此,简单的解决方案是,将基数设置为
    10
    ,以指定十进制值:

    if (parseInt(this.minutes, 10) < 5) {
    }
    
    if(parseInt(this.minutes,10)<5){
    }
    
    标签?我们回到90年代了吗<代码>在HTML4.1及更高版本中被去除。请改用
    。顺便说一句,不推荐使用标记。您最好使用CSS。您是否尝试了console.log(this.minutes)或alerting out alert(this.minutes)以确保您的位置?
    标记?我们回到90年代了吗<代码>在HTML4.1及更高版本中被去除。请改用
    。顺便说一句,不推荐使用标记。您最好使用CSS。您是否尝试过console.log(this.minutes)或alerting out alert(this.minutes)来确定您的位置?我也不会将其称为功能..:嗯,我也不会把它称为一个功能P