Javascript 为什么可以';我不能获取dateobject.getMonth()的长度吗?

Javascript 为什么可以';我不能获取dateobject.getMonth()的长度吗?,javascript,datetime,Javascript,Datetime,我按照有问题的指示去做 这是我的密码: edate = new Date() edate.setYear(edate.getFullYear() + 1); month = edate.getMonth(); console.log(month); console.log(month.length); 这将返回: 3 undefined 在您从另一个问题中列出的代码中,month中存储的值被转换为字符串。可以这样做(使用空字符串连接导致toString

我按照有问题的指示去做

这是我的密码:

    edate = new Date()
    edate.setYear(edate.getFullYear() + 1);
    month = edate.getMonth();
    console.log(month);
    console.log(month.length);
这将返回:

3
undefined

在您从另一个问题中列出的代码中,
month
中存储的值被转换为
字符串。可以这样做(使用空
字符串连接
导致
toString()
转换):

Number
值没有
length
属性,但是
字符串有。这就是原始代码所使用的

更新 一种更明确的方法(如上所述)是利用
字符串
构造函数,该构造函数接受
数字
作为输入,并将其转换为
字符串
,如下所示:

month = String(edate.getMonth());
month = edate.getMonth().toString();
或者,您可以直接调用
toString()
getMonth()
返回的值,如下所示:

month = String(edate.getMonth());
month = edate.getMonth().toString();

请小心重新设置年份:“。尽管某些浏览器可能仍然支持它,但它可能已经从相关的web标准中删除,可能正在删除,或者可能只是出于兼容性目的而保留。避免使用它”
setFullYear
:阅读注释中的链接。将其添加到您的答案
字符串(edate.getMonth())
。它还可以用于将数字强制转换为字符串