3

我阅读了主题如何在 JavaScript 中清空数组?

回答 :

很简单:

A = [];

我对 Daniel Baulig 的评论很感兴趣:

这不会清空数组,而是创建一个新的空数组。这可能会导致问题,特别是如果有其他对数组的引用。OP:请考虑接受马修的回答。这是更清洁且形式上正确的方法。– Daniel Baulig 2011 年 1 月 19 日 13:08

你能告诉我这会导致什么问题吗?

4

1 回答 1

10

问题是您可能对该数组有另一个引用。

考虑一下:

var A = ['A'];
var B = A;

如果你这样做

A = [];

这仍然会让 B 成为['A']。这就是清空(或更改)数组或替换它(您所做的)之间的区别。

当你这样做

A.length=0;

那么 B 也将是空的。

于 2013-11-08T18:32:22.580 回答