我对 Node 和 Javascript 还很陌生,只是想检查一下这里发生了什么,但我不确定要寻找什么。
我创建了几个用于比较日期的函数...
exports.isDateWithinRange = date => (from, to) => from <= date && date <= to;
exports.isCurrentDateInRange = isDateWithinRange(new Date());
这些工作(目前),但我只是想检查一下。
第二行...new Date()
何时计算?
- 每次调用函数
isCurrentDateInRange
时都会计算它吗? - 还是第一次加载文件时就计算一次?
因为如果是后者我需要更改它。但如果不是问题的话我不想费心去改变它。
谢谢
最佳答案
只要您需要该模块,就会构造 Date 对象。 isCurrentDateInRange 将是立即调用 isDateWithinRange
的结果。
为了避免这种情况,您可以使用导出的 isDateWithinRange
并且可以设置默认日期值,如下所示:
exports.isDateWithinRange = (date = new Date()) => (from, to) => from <= date && date <= to;
关于node.js - new Date() 何时会在我的函数中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57592651/