应用新操作符时有什么区别?

rea*_*ess 5 javascript jquery

例如,如果我想在p元素上显示当前日期:

$("p").html('Now is '+Date()); // good
$("p").html('Now is '+new Date()); // good
$("p").html(Date()); // good
$("p").html(new Date()); // bad
Run Code Online (Sandbox Code Playgroud)

为什么最后一个语句不显示当前日期,但第二个语句有效?

Jam*_*ack 8

在第一行和第三行中Date()返回当前日期的字符串.

在第二个中,当您将Date对象添加到字符串时,它必须将日期对象转换为字符串,以便您看到所期望的内容.

在最后一行中,它返回一个日期对象,这就是它看起来错误的原因.

要了解更多有关Date您的信息,可能会发现这有用

https://developer.mozilla.org/en/JavaScript/Reference/global_objects/date


ble*_*ter 5

我只想对此嗤之以鼻:

// Javascript解析器检测字符串连接.Date()转换为字符串(默认).

("p").html('Now is '+Date());
Run Code Online (Sandbox Code Playgroud)

// Javascript解析器检测字符串连接.Date()转换为字符串(默认).

$("p").html('Now is '+new Date());
Run Code Online (Sandbox Code Playgroud)

//默认情况下,Date()构造函数的实例转换为字符串.

$("p").html(Date());
Run Code Online (Sandbox Code Playgroud)

// new Date()生成一个对象.将非dom识别的对象插入dom树会引发错误.

$("p").html(new Date());
Run Code Online (Sandbox Code Playgroud)