這是一個關於JavaScript getters和setter如何工作的問題。在JavaScript getter/setter中使用delete刪除getter/setter
Mozilla將log4j作爲JavaScript模塊實現(部分實現,只是諸如Firefox Sync等預期用例所需的重要部分)包含以下getter/setter定義。
getter/setter中的'delete'會爲你做什麼?那有什麼意思?它似乎有使第一次使用有不同的結果從以下用途(但如果是這樣,如何)?
get repository() {
delete Log4Moz.repository;
Log4Moz.repository = new LoggerRepository();
return Log4Moz.repository;
},
set repository(value) {
delete Log4Moz.repository;
Log4Moz.repository = value;
},
之後,如果它是以這種方式開始的話,那麼o.a仍然是一個吸氣器(或二流子)嗎?我猜不,現在它只是一個價值,對吧? (你怎麼知道一個屬性是否是一個getter/setter?有沒有一種方法來檢查/轉儲說明哪些屬性是getters/setters的對象?) – 2012-04-03 17:06:06