添加到数组时使用push方法或.length?

mow*_*ker 12 javascript

做的缺点是什么:

var myArray = [];
myArray[myArray.length] = val1;
myArray[myArray.length] = val2;
Run Code Online (Sandbox Code Playgroud)

代替:

var myArray = [];
myArray.push(val1);
myArray.push(val2);
Run Code Online (Sandbox Code Playgroud)

我确信push方法更"可接受",但是功能上有什么不同吗?

Ali*_*guy 6

推动速度更快,速度提高近300%.

证明:http://jsperf.com/push-vs-length-test

  • 我运行了两次测试(firefox),在这两种情况下推送速度都较慢(约为6%).但是在Chrome中是不同的(推送速度快50%).Firefox使用最新的Firefox和Chrome也比Chrome(对于此测试)快. (2认同)

Thi*_*ter 5

由于JavaScript中的数组没有漏洞,因此这两种方法的功能相同.是的,使用.push()更清洁(更短).