最近做了个测试,在firefox 2.0上
代码1:
代码
- function a(){var t=new Date().getTime();var re=[];for (var i=0;i<30000;i++){re[i]=null}alert(((new Date().getTime())-t)/1000)}
代码2:
代码
- function a(){var t=new Date().getTime();var re=[];for (var i=0;i<30000;i++){re[i]=undefined}alert(((new Date().getTime())-t)/1000)}
在老旧600e笔记本上进行了个测试,由于速度比较慢,所以结果还明显点,在循环3万次的测试下代码1始终是0.3秒左右的样子,而代码2是0.4秒左右的样子,按道理说undefined是没定义,null怎么说也是定义了,在re[i]那一刻应该就判断本来就没定义,所以什么也不操作,所以应该比=null快才对吧