How does Javascript implement date comparison operator?(Javascript如何实现日期比较运算符?)
本文介绍了Javascript如何实现日期比较运算符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
This answer表示
Date object将执行您想要的操作-为每个日期构造一个,然后使用
>、<、<=或>=进行比较。
我在引用的页面上看不到此功能。
- 这是特定于浏览器的行为,还是该语言的标准功能?
- 如果date是javascript的Object,并且javascript不支持操作符重载,那么Date对象上的
>、<、<=或>=操作符的这种行为是如何实现的?我的意思是,它是在Date.prototype中定义的吗?它是因为定义了某种隐式转换(例如,从对象到数字或字符串),是添加到Javascript语言解释器/运行时的Date对象的特殊情况,还是什么?
推荐答案
每当您使用通常需要数字(加法、减法、较大/较小比较)的对象时,都会调用valueOf方法将该对象转换为基元:
{ valueOf: () => 2 }.valueOf() // 2
//or not explicitly called:
+ { valueOf: () => 2 } // 2
//using the compare operator:
{ valueOf: () => 2 } < { valueOf: ()=>3 } //true as 2 < 3
因此,当您比较日期时,也会发生这种情况。由于Date.Prototype.valueOf方法返回1970年以来的毫秒数,因此您可以使用它来比较两个日期.
new Date().valueOf();
//or
+new Date();
//or
new Date() < new Date();
这篇关于Javascript如何实现日期比较运算符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:Javascript如何实现日期比较运算符?
基础教程推荐
猜你喜欢
- 从快速中间件中排除路由 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- HTML5 画布调整为父级 2022-01-01
