在第一个例子中,我创建了长度为1000的空数组:
var arr = new Array(1000);
for (var i = 0; i < arr.length; i++)
arr[i] = i;
Run Code Online (Sandbox Code Playgroud)
在第二个示例中创建了长度为0的空数组:
var arr = [];
for (var i = 0; i < 1000; i++)
arr.push(i);
Run Code Online (Sandbox Code Playgroud)
在OS X 10.10.3上的Chrome 41.0.2272.118中进行测试,第一个块运行得更快.为什么?因为JavaScript引擎知道数组大小?
基准测试在这里http://jsperf.com/poerttest/2.
是否可以将console.time()结果写入变量?
console.time('It\'s saved!');
fn();
var a = console.timeEnd('It\'s saved!');
console.log(a) // => It's saved!: 16ms
Run Code Online (Sandbox Code Playgroud) 我知道这{}是一个对象或一个代码块,但今天我的同事问我为什么{foo: 1}在进入控制台时工作,但会{foo: 1, bar: 2}产生错误.
为什么要foo: 1在控制台中进行评估1?