gpt4 book ai didi

javascript - 如何在JavaScript中定义一个像Date一样可以直接打印的函数

转载 作者:行者123 更新时间:2023-12-03 16:42:01 25 4
gpt4 key购买 nike

日期,我们都知道,一旦我们实例化它,就说

var now = new Date();

我们可以直接把now打印成一个字符串,event它是一个对象

console.log(now); //Sun Mar 12 2017 12:48:21...

这也是一样的:

console.log(Date());

这是如何运作的?以及如何定义这样的用户函数?

最佳答案

如果你这样做,你不会修改原生的 Date 构造函数:

var DateConstructor = function() {
this.date = new Date();
};

DateConstructor.prototype.printDate = function() {
console.log(this.date);
};

var date = new DateConstructor();

date.printDate();

编辑:3 月 27 日

我想我现在明白了这个问题。你在问:“如果 Date 构造函数返回一个对象作为它的实例,为什么对象 console.log 是一个字符串?我怎样才能用我的自己的构造函数?”

Date 构造函数似乎没有返回正常的对象类型。即使它的 typeof 返回 "object",它在某些方面的行为更像 "string" 类型。字符串不 console.log 作为对象,但它们在其原型(prototype)上具有诸如 spit 之类的方法。

据我所知。没有办法创建返回对象以外的任何东西的 javascript 构造函数。但是, native Date 构造函数似乎不符合此规则。

Here这是一篇关于 JS 构造函数返回的有趣文章。

关于javascript - 如何在JavaScript中定义一个像Date一样可以直接打印的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42743912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com