我正在使用带有替换器(第二个参数)的 javascript JSON.stringify 函数以某种方式格式化日期值:
var s = JSON.stringify(data, function (key, value) {
if (key === "") return value;
if (jQuery.type(value) === "date") return "Date(" + value.getTime() + ")";
return value;
});
我的对象“数据”中有有效的日期时间值。但是,当使用此值执行替换函数时,日期时间值会自动转换为字符串,因此 jQuery.type(value) = "string" 而不是 "date" 了。
在调用 stringify 之前,我可以简单地替换值对象中的所有日期时间值,但我不想修改原始数据。
这是替换函数的行为方式还是 IE 的一个奇怪特性(我使用的是 IE9)?我该如何解决这个问题?