js垃圾回收的場景最佳化

wangsys發表於2021-09-11

js垃圾回收的場景最佳化

1、陣列array最佳化

將[]賦值給一個陣列物件,是清空陣列的捷徑(例如: arr = [];),但是需要注意的是,這種方式又建立了一個新的空物件,並且將原來的陣列物件變成了一小片記憶體垃圾。

const arr = [1, 2, 3, 4];
console.log('浪裡行舟');
arr.length = 0  // 可以直接讓數字清空,而且陣列型別不變。
// arr = []; 雖然讓a變數成一個空陣列,但是在堆上重新申請了一個空陣列物件。

2、物件儘量再利用,特別是在迴圈等地方出現新物件,可以再利用的話再利用。不使用的物件,儘量設定為null,儘快被垃圾回收。

var t = {} // 每次迴圈都會建立一個新物件。
for (var i = 0; i < 10; i++) {
  // var t = {};// 每次迴圈都會建立一個新物件。
  t.age = 19
  t.name = '123'
  t.index = i
  console.log(t)
}
t = null //物件如果已經不用了,那就立即設定為null;等待垃圾回收。

以上就是js垃圾回收的場景最佳化,希望對大家有所幫助。更多js學習指路:

推薦操作環境:windows7系統、jquery3.2.1版本,DELL G3電腦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2829497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章