在JavaScript中,myArray.length = 0 vs myArray = new Array()之间有什么区别?

Aar*_*ron 10 javascript

关于JavaScript,在清理数组时,我发现了两种方法:

myArray.length = 0;
Run Code Online (Sandbox Code Playgroud)

VS

myArray = new Array()
Run Code Online (Sandbox Code Playgroud)

我会在逻辑上myArray.length = 0;保持引用,同时myArray = newArray()创建一个新的引用,使之前的引用无效.

但是,我在过去发现使用我自己的逻辑猜测JavaScript的工作原理经常是不成功的:)

这两种方法之间有什么区别(如果有的话)?

Joo*_*oon 5

你这次是正确的.new Array()创建一个新的数组实例并将其分配给myArray. myArray.length = 0当myArray仍然指向旧数组时清空一个旧数组.

顺便说一下,使用[]符号比使用符号更好new Array().

我个人总是尝试使用,myArray.length = 0;因为它实际上清空了数组的内容.