Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
valueOf()方法如何在JavaScript中的日期对象上工作?_Javascript_Typescript_Date - Fatal编程技术网

valueOf()方法如何在JavaScript中的日期对象上工作?

valueOf()方法如何在JavaScript中的日期对象上工作?,javascript,typescript,date,Javascript,Typescript,Date,给定日期: const date = new Date(); console.log(date.valueOf()); // print numeric value : 1587644687189 任何文档都提到,valueOf()是JavaScript中的内置函数,用于获取1970年1月1日00:00:00 UTC和给定日期之间的毫秒数 如何在日期对象上实现此功能?日期实例始终基于时间戳值,即从固定时间点开始测量毫秒的数字。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其

给定日期:

const date = new Date();
console.log(date.valueOf()); // print numeric value : 1587644687189
任何文档都提到,
valueOf()
是JavaScript中的内置函数,用于获取1970年1月1日00:00:00 UTC和给定日期之间的毫秒数


如何在日期对象上实现此功能?

日期实例始终基于时间戳值,即从固定时间点开始测量毫秒的数字。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其视为有效的私有内部财产

调用各种mutator函数,如
.setMonth()
等,将更新该时间戳值。这个过程是有趣的工作完成的地方,比如考虑夏令时和日历数学的其他复杂性

任何对象都可以具有
.valueOf()


它也可以放置在原型上,就像日期对象一样。

日期实例始终基于时间戳值,该值从固定时间点开始测量毫秒。.valueOf()函数只返回该数字。函数不必计算毫秒数;它总是将其视为有效的私有内部财产

调用各种mutator函数,如
.setMonth()
等,将更新该时间戳值。这个过程是有趣的工作完成的地方,比如考虑夏令时和日历数学的其他复杂性

任何对象都可以具有
.valueOf()


它也可以放在原型上,就像日期对象一样。

你是什么意思?是否希望在给定引擎中实现此方法的本机实现?或者你想要什么实现?“这个函数是如何在日期对象上实现的?”看看V8源代码。或者SpiderMonkey源代码。他们可以按照自己认为合适的方式自由实施。ECMAScript标准只说明应该从函数返回什么。如果您得到这个问题的可接受答案,您将如何处理这些信息?换句话说,知道答案对你有什么帮助?(当然,如果你只是好奇也没关系。)@VLAZ,你明白了。我正在寻找date对象方法的本机实现
date.valueOf()
只返回日期,这是它仅有的日期。这是什么意思?是否希望在给定引擎中实现此方法的本机实现?或者你想要什么实现?“这个函数是如何在日期对象上实现的?”看看V8源代码。或者SpiderMonkey源代码。他们可以按照自己认为合适的方式自由实施。ECMAScript标准只说明应该从函数返回什么。如果您得到这个问题的可接受答案,您将如何处理这些信息?换句话说,知道答案对你有什么帮助?(当然,如果你只是好奇也没关系。)@VLAZ,你明白了。我正在寻找date对象方法的本机实现
date.valueOf()
只返回日期,这是它唯一的属性。
console.log(5 + { valueOf: () => 6 }); // 11