JavaScript toZero 函数添加空参数后,为何会返回 Invalid Date?
获取当日零点函数添加空参数后引发 invalid date 的原因
在 javascript 中,提供了 tozero 函数来获取当天零点时间。但是,当我们添加一个空参数时,却发生了意料之外的事情——返回了 invalid date。为什么会这样呢?
首先,我们来分析一下 tozero 函数原本的功能。该函数通过 new date().tolocaledatestring() 获取当前日期的字符串,再将该字符串作为参数传入 new date() 构造函数中,最终返回当日零点时间。
当我们添加了一个空参数后,函数中的逻辑发生了改变。此时的 time 参数为 undefined,传递给 new date() 构造函数时,它将被解释为一个无效的时间戳,从而导致 invalid date 的出现。
为了解决这个问题,我们可以将空参数的默认值设置为空,即 const tozero = (time = null) => ...。这样做的好处是,当不传入参数时,函数仍能正常工作,而传入其他无效参数时,也能得到 invalid date 的提示。修改后的代码如下:
const toZero = (time = null) => new Date(new Date(time).toLocaleDateString()); toZero(); // 结果:Date Thu Jan 01 1970 00:00:00 GMT+0800 (中国标准时间)
通过添加一个默认空参数,我们修复了函数在未传入参数时的错误,同时确保了传入无效参数时返回预期结果。
以上就是JavaScript toZero 函数添加空参数后,为何会返回 Invalid Date?的详细内容,更多请关注硕下网其它相关文章!