关于JavaScript,在清理数组时,我发现了两种方法:
myArray.length = 0;
VS
myArray = new Array()
我会在逻辑上猜测myArray.length = 0;
保留引用,而myArray = newArray()
创建一个新引用,使之前的引用无效。
但是,我在过去发现使用我自己的逻辑猜测JavaScript是如何工作的经常是不成功的:)
两种方法之间有什么区别(如果有的话)?
答案 0 :(得分:5)
这次你是对的。 new Array()
创建一个新的数组实例并将其分配给myArray
。
myArray.length = 0
清空一个旧数组,而myArray仍然指向旧数组。
顺便说一下,最好使用[]
表示法而不是new Array()
。
我个人总是尝试使用myArray.length = 0;
,因为它实际上清空了数组的内容。
答案 1 :(得分:0)
myArray.length = 0; // Signifies empty array
[1,2,3] // Length of this array is 3
基本上,带有内容的数组会被空数组覆盖。
您也可以使用:
myarray = []; //More simple and elegant!!!
表现明智:[]
比new Array();
正如juno已经说过的那样:new Array()
创建一个新的数组实例(这个数组的大小将在参数中提到)并将其分配给myArray。