为了在javascript中获取时间戳,你可以编写这种代码:
// Usual Way
var d = new Date();
timestamp = d.getTime();
但我发现也可以通过这种方式获得相同的结果:
// The shortest Way
timestamp = +new Date();
有人可以帮我理解Shortest Way的工作原理吗?
答案 0 :(得分:5)
那是unary plus operator。如果它不是数字,它会尝试将后面的参数转换为数字。 Date
对象实现了一个允许将其转换为数字的方法,该数字是与getTime()
方法相同的时间戳。
在不使用额外变量的情况下获取时间戳的更简洁明了的方法是使用括号:
var timestamp = (new Date()).getTime();
答案 1 :(得分:0)
JavaScript是一种动态类型语言,它会尝试适合上下文的转换。
在日期对象前添加一元加号时,它将转换为数字。