怎么清空javascript數(shù)組
更新時間:2013年05月11日 17:22:29 作者:
這是一個很基礎(chǔ)的問題,但是我們往往經(jīng)常做錯,這里簡單分享下,方便需要的朋友
當(dāng)一個數(shù)組需要清空的時候,很多人使用下面的方法:
a = [];
我們知道javascript變量存儲方式分為引用類型和直接量。數(shù)組屬于對象,即引用類型,引用的是變量指針地址,之所以這樣設(shè)計也是為了節(jié)省內(nèi)存。
再說到上面的請空數(shù)組的方式,如果采用直接賦值一個新數(shù)組的方式,那么之前引用的數(shù)組可能不會被釋放(有其他的引用),例如下面的代碼:
var a = [2,3];
var b = a;
a = [];
console.log(b);
這時候a和b就不是同一個數(shù)組了,清空了a而b還是指到之前的引用地址,除非你是故意的,否則這將會有隱患。
所以最佳的請空數(shù)組方式是:將length設(shè)置為0,即:
a.length = 0;
轉(zhuǎn)自 JS8.IN ™
復(fù)制代碼 代碼如下:
a = [];
我們知道javascript變量存儲方式分為引用類型和直接量。數(shù)組屬于對象,即引用類型,引用的是變量指針地址,之所以這樣設(shè)計也是為了節(jié)省內(nèi)存。
再說到上面的請空數(shù)組的方式,如果采用直接賦值一個新數(shù)組的方式,那么之前引用的數(shù)組可能不會被釋放(有其他的引用),例如下面的代碼:
復(fù)制代碼 代碼如下:
var a = [2,3];
var b = a;
a = [];
console.log(b);
這時候a和b就不是同一個數(shù)組了,清空了a而b還是指到之前的引用地址,除非你是故意的,否則這將會有隱患。
所以最佳的請空數(shù)組方式是:將length設(shè)置為0,即:
復(fù)制代碼 代碼如下:
a.length = 0;
轉(zhuǎn)自 JS8.IN ™
相關(guān)文章
javascript實現(xiàn)全角與半角字符的轉(zhuǎn)換
這篇文章主要介紹了javascript實現(xiàn)全角與半角字符的轉(zhuǎn)換的相關(guān)代碼與知識點分享,需要的朋友可以參考下2015-01-01JavaScript語言中的Literal Syntax特性分析
JavaScript語言中的Literal Syntax特性分析...2007-03-03JS Object.preventExtensions(),Object.seal()與Object.freeze()用
這篇文章主要介紹了JS Object.preventExtensions(),Object.seal()與Object.freeze()用法,結(jié)合實例形式分析了javascript控制對象擴展、密封、凍結(jié)等相關(guān)函數(shù)與操作技巧,需要的朋友可以參考下2018-08-08