我在JavaScript中遇到了非常奇怪的错误。
var stamp = 1349102;
var obj = {a: stamp, b: new Date(stamp), c: new Date(1349102)};
当我查看obj
- b
说无效日期但c
是有效的Date
对象。
请帮帮我。我真的不知道如何解决这个问题。
答案 0 :(得分:1)
如果用户提供stamp
,则可将其视为字符串。在这种情况下,您的代码将被浏览器解释为以下代码(不起作用):
var stamp = "1349102";
var obj = {a: stamp, b: new Date(stamp), c: new Date(1349102)};
将stamp
转换为Number即可
var stamp = "1349102";
var obj = {a: stamp, b: new Date(Number(stamp)), c: new Date(1349102)};
查看控制台输出:第一个没有Number
转换,第二个是Number
转换。