我只是好奇。也许有人知道 2013 年 JavaScript 引擎可以优化什么,不能优化什么?对最近的未来有任何假设吗?我一直在寻找一些好文章,但互联网上仍然没有“圣经”。
好的,让我们专注于单个问题:
假设我有一个每 10 毫秒调用一次或在一个紧密循环中调用的函数:
function bottleneck () {
var str = 'Some string',
arr = [1,2,3,4],
job = function () {
// do something;
};
// Do something;
// console.log(Date.getTime());
}
如您所见,我不需要每次都计算变量的初始值。但是,如果我将它们移动到更高的范围,我会在变量查找上松懈。那么有没有办法告诉 Javasript 引擎做这样一件显而易见的事情——预先计算变量的初始值?
我已经照顾了一个jsperf 来解决我的问题。我正在尝试不同的类型。我对函数和原语特别感兴趣。