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中.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...