除了获取日期之外,这段代码做了什么?

时间:2014-05-07 09:28:18

标签: javascript

我在亚马逊的主页上阅读了这段代码。 看起来它正在尝试获取当前时间,但使用运算符||+的含义是什么?

var ue_t0=ue_t0||+new Date();

5 个答案:

答案 0 :(得分:2)

那是short-circuiting evaluation||)后跟conversion to number+)。

该代码大致相当于:

var ue_t0;
if (!ue_t0) {
    ue_t0 = Number(new Date());
}

请注意,将日期转换为数字会返回纪元(1970年1月1日,00:00:00)与该日期之间的毫秒数。

答案 1 :(得分:1)

这是在说:

  

评估ue_t0,如果它有值,则使用它,否则分配它   整数形式的Date实例。

答案 2 :(得分:1)

它表示让ue_t0ue_t0的值,或者,如果未定义,则为表达式的值(新日期)。

答案 3 :(得分:1)

JavaScript中没有||+运算符,+new Date()以UNIX格式提供日期表示

答案 4 :(得分:1)

没有||+运营商。

  • +new Date()是将时间作为时间戳的常用快捷方式。 +运算符隐式调用valueOf方法。
  • ||运算符是设置默认值(+new Date())的另一种常用快捷方式,如果未定义变量(ue_t0)(或等于任何计算结果为false的值:{ {1}},null ...)。