JavaScript – 当if语句为true时,代码不会执行?

前端之家收集整理的这篇文章主要介绍了JavaScript – 当if语句为true时,代码不会执行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

所以我为用户提供了3个不同的输入 – 日/月/年,我正在尝试运行if语句来检查月份是1月/ 2月(1还是2),然后是否从年份中减去1 .我的if语句是:

if (month == 1 || month == 2) {
    if (month == 1) {
        year = Number(year) - 1;
    }
    else if (month == 2) {
        year = Number(year) - 1;
    }
}

这是我第一次尝试使用javascript,这非常令人沮丧!
你可以看到我的代码在我有月份= 3时运行,但是一旦我将其更改为1或2它就不再执行…

enter image description here

最佳答案
它失败是因为您将年份转换为字符串,而不是在数字上使用字符串操作.控制台中的错误应该清楚地说明它.

year = Number(year) - 1
...
var century = year.substring(0,2)

因此,如果您要对其执行字符串操作,则需要将数字转换回字符串.

所以要么你做

year = (Number(year) - 1).toString()

要么

var century = year.toString().substring(0,2)

最后,错误“Uncaught TypeError:year.substring不是函数”应该在您的开发人员console中.

猜你在找的JavaScript相关文章