我正在检查如何以下列格式显示JavaScript日期:YYYY-MM-DDTHH:mm:ss.sssZ
但是我看到了两种方法:.toJSON()和.toISOstring().它们之间有一些真正的区别吗?
Miz*_*tik 21
一个方便的区别是,如果您的日期无效,.toJSON()
将输出null
.但是,.toISOString()
行为可能会有所不同.在firefox中,这会输出一个字符串"Invalid Date"
但在chrome中会引发异常.
编辑:Firefox的最新版本已将行为修复为与chrome相同(引发异常).但是,.toJSON()和.toISOString()之间的区别仍然存在.(输出null与提高异常)
小智 20
在内部,如果它可用,则toJSON()
呼叫toISOString()
,因此没有区别.
15.9.5.44 Date.prototype.toJSON(key)
此函数提供Date对象的String表示形式,供JSON.stringify(15.12.3)使用.
使用参数键调用toJSON方法时,将执行以下步骤:
设O是调用ToObject的结果,给它作为参数的值.
让tv成为ToPrimitive(O,提示号码).
如果tv是一个数字并且不是有限的,则返回null.
设toISO是使用参数"toISOString"调用O的[[Get]]内部方法的结果.
如果IsCallable(toISO)为false,则抛出TypeError异常.
返回调用to [O [[Call]]内部方法的结果,其中O为此值和空参数列表.
归档时间: |
|
查看次数: |
5849 次 |
最近记录: |