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())
。它还可以用于将数字强制转换为字符串