evf*_*qcg 3 javascript performance
我有一个日期数组,我需要不止一次为这些日期执行一些计算.所以我决定使用memoization来缓存结果.
但是,我不确定是否可以将Date对象用作关键字.我希望比较日期可能比比较字符串慢,所以使用日期的字符串表示作为键可能是有意义的.
所以我的问题是,最好用作密钥,字符串或日期来访问JavaScript对象中的值.
我认为您可以使用getTime方法来比较Date对象的数字版本.应该更快,加上更可靠的IMVHO跨浏览器和SO的字符串表示,以及它们的语言环境,并且更容易被操纵.
如果您不使用Map或WeakMap而只使用普通对象,请注意,将Date对象作为对象的键传递将自动获取它的字符串版本(toString将被调用):
var now = {};
now[new Date()] = true;
console.log(Object.keys(now)); // ["Sun Apr 07 2013 13:21:17 GMT+0200 (CEST)"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4367 次 |
| 最近记录: |