我能指望JavaScript引擎缓存这个值吗?

我能指望JavaScript引擎缓存这个值吗?,javascript,optimization,interpreter,Javascript,Optimization,Interpreter,在一个函数中,我有行 var deal_date = new Date(deal.Created), cur_date = new Date(), num_days_passed = Math.floor((cur_date - deal_date) / (1000*60*60*24)); 我想知道,由于它在函数中,计算值1000*60*60*24是否会被JavaScript引擎缓存。因为否则我必须通过定义一个常数来摆脱幻数 window.SECONDS_

在一个函数中,我有行

     var deal_date = new Date(deal.Created),
          cur_date = new Date(), 
   num_days_passed = Math.floor((cur_date - deal_date) / (1000*60*60*24));
我想知道,由于它在函数中,计算值
1000*60*60*24
是否会被JavaScript引擎缓存。因为否则我必须通过定义一个常数来摆脱幻数

window.SECONDS_PER_DAY = 1000*60*60*24;

随着时间的推移,创建所有这些额外的代码变得越来越困难,特别是当
1000*60*60*24
实际上对阅读代码的人更具描述性时(除非他们是白痴).

这个问题是你遇到的直接问题而不是理论的结果吗?这是编译器优化的问题-当然,谷歌的闭包编译器在缩小代码时会将常量表达式
1000*60*60*24
转换为
864E5
。我希望现代编译器也能做到这一点。