当我在 Javascript 中创建对象并将它们记录到控制台时,我几乎总是在控制台中看到一个 Javascript 对象。例如
var myObj = {
bla: "foo"
}
console.log(myObj);
Run Code Online (Sandbox Code Playgroud)
将输出为
{
bla: "foo"
}
Run Code Online (Sandbox Code Playgroud)
然而,Date行为不同。当我创建一个日期时,它以某种方式知道打印出代表日期对象日期的“字符串”。
例如:
var myObj = {
date: new Date()
}
console.log(myObj);
Run Code Online (Sandbox Code Playgroud)
让我明白
{
date: Sun Oct 25 2020 18:36:19 GMT-0700 (GMT-04:00)
}
Run Code Online (Sandbox Code Playgroud)
这里的根本机制是什么?我怎样才能对我自己的对象做同样的事情?