簡體   English   中英

Javascript原型方法和未使用的變量

[英]Javascript Prototype method and un-used variables

我目前正在通過原型方法構建對象。 該對象不需要用戶構建的方法,雖然工廠方法在這里可能更好,但我更喜歡原型。

我想知道var buf = data._raw; 返回對象后, buf會發生什么情況,它是否會導致內存泄漏或被垃圾回收,還是會發生其他事情?

var Identification = function(data){
  var buf = data._raw;

  this.def = data.def;
  this.master = buf.readUInt8(9);
  this.version = buf.readUInt8(10);
  //more reading from a buffer...
}

module.exports = Identification;

我通過傳入包含3個屬性的data在另一個模塊中調用此函數。 def_rawlength ,其中def是對象類型的int表示形式, _raw是緩沖區,而length是緩沖區長度。

var Identification = require('./Identification');

function main(){
  var identification = new Identification(data);
}

main();

這是不好的做法嗎? 我將來會開放我的代碼來解決問題嗎?

謝謝。

對象返回后, buf會怎樣?

它是垃圾收集的,因為沒有任何東西再引用變量/值了。 您的構造函數似乎沒有導出仍然可以訪問buf閉包。

它會導致內存泄漏嗎?

不,為什么呢? 標准垃圾收集規則也適用於構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM