1、拼接复制码如下: var ary=[1,2,3,4];ary.splice(0,ary . length);console . log(ary);//Output [],一个空数组,也就是模式2已经清空,长度赋值为0,很有意思。在Java等其他语言中,数组的长度是只读的,不能赋值。例如,复制代码如下: int[] ary={1,2,3,4 };ary . length=0;Java中会报告错误,编译会失败。但是,JS可以,数组是空的。复制的代码如下: var ary=[1,2,3,4];ary . length=0;console . log(ary);//output [],空数组,即清除目前Prototype中已经清空的数组和mootools库中已经清空的数组。3、赋值为[],复制代码如下: var ary=[1,2,3,4];ary=[];//为空数组赋值以清空原始数组。模式2保留了数组的其他属性,但模式3没有。很多人认为模式2效率更高,因为它只是重新分配长度,而模式3重新建立一个对象。经过测试,模式3的效率很高。测试代码:复制代码如下: var a=[];for(var I=0;我1000000;I){ a . push(I);} var start=new Date();//a=[];a .长度=0;var end=新日期();警报(结束-开始);测试结果:
以上结果表明,模式3速度更快,效率更高。因此,如果不保留原始数组的其他属性,则更推荐Ext采用的方法。