我对node和javascript还不太熟悉,只想看看这里发生了什么,但我甚至不确定要查找什么。
我创建了两个比较日期的函数…

exports.isDateWithinRange = date => (from, to) => from <= date && date <= to;
exports.isCurrentDateInRange = isDateWithinRange(new Date());

这些工作(目前)我只想检查一下。
在第二行…什么时候计算的?
是否每次调用函数new Date()时都进行计算?
还是第一次加载文件时计算一次?
因为如果是后者,我需要改变它。但如果不是问题的话,我不想费心去改变它。
谢谢

最佳答案

无论何时需要模块,都会构造日期对象。iscurrentdateinrange将是立即调用isDateWithinRange的结果。
为了避免这种情况,您可以使用导出的isDateWithinRange,并可以设置如下默认日期值:

exports.isDateWithinRange = (date = new Date()) => (from, to) => from <= date && date <= to;

10-05 20:50