當一個數組需要清空的時候,很多人使用下面的方法:
複製程式碼 程式碼如下:
a = [];
我們知道javascript變數儲存方式分為引用型別和直接量。陣列屬於物件,即引用型別,引用的是變數指標地址,之所以這樣設計也是為了節省記憶體。
再說到上面的請空陣列的`方式,如果採用直接賦值一個新陣列的方式,那麼之前引用的陣列可能不會被k16-0.html" target="_blank" >釋放(有其他的引用),例如下面的程式碼:
複製程式碼 程式碼如下:
var a = [2,3];
var b = a;
a = [];
(b);
這時候a和b就不是同一個陣列了,清空了a而b還是指到之前的引用地址,除非你是故意的,否則這將會有隱患。
所以最佳的請空陣列方式是:將length設定為0,即:
複製程式碼 程式碼如下:
th = 0;
Copyright ©2024 才華齋 All Rights Reserved.