除了获取日期,这段代码还做什么

What is this code doing besides get date?

本文关键字:代码 什么 段代码 获取 取日期      更新时间:2023-09-26

我在amazon的主页上看到了这段代码。看起来它试图获得当前时间,但是使用操作符||+的意义是什么?

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

这是短路求值(||),然后转换为数字(+)。

该代码大致相当于:

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

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

它在说:

计算ue_t0,如果它有值,则使用它,否则赋值Date实例的整数形式

ue_t0ue_t0的值,如果没有定义,则为表达式(new Date)的值

JavaScript中没有||+操作符,它是+new Date(),它为您提供UNIX格式的日期表示

没有||+操作符

  • +new Date()是获取时间戳的常用快捷方式。+操作符隐式调用valueOf方法。
  • 如果没有定义变量(ue_t0)(或等于任何计算结果为false的东西:null, 0…),||操作符是设置默认值(+new Date())的另一个常见快捷方式。