javascript奇怪的语法:c.name = i + + new Date;

时间:2011-03-10 02:26:38

标签: javascript

来自colorpowered.com的

colorbox v1.3.15中有这个javascript的缩小代码:

c.name=i+ +new Date;

这似乎运行得很好,不是吗?

2 个答案:

答案 0 :(得分:8)

一元+运算符用于通过从该对象调用valueOf()将对象转换为数字。如果未返回数字,则操作返回NaN

您可以通过编辑任何对象的valueOf函数来自定义它,如下所示:

var foo = {};
foo.valueOf = function () { return 9001; };
console.log(+foo); // 9001

日期valueOf()只返回getTime()according to Mozilla

答案 1 :(得分:5)

new Date使用当前日期创建Date对象。一元+运算符将其转换为数值,对于Date对象,该值等效于使用getTime()方法。然后它是一个简单的加法,i加上该数字值。