1
mootools是否具有析構函數?我有一個靜態變量來計算類的實例。
問題是,當一個實例被破壞,我無法更新我的靜態變量。 有沒有辦法擴展析構函數,所以我有更新該var的可能性?mootools析構函數
mootools是否具有析構函數?我有一個靜態變量來計算類的實例。
問題是,當一個實例被破壞,我無法更新我的靜態變量。 有沒有辦法擴展析構函數,所以我有更新該var的可能性?mootools析構函數
從未見過的mootools這個工作,通常情況下,你讓瀏覽器垃圾回收等等...
這是迄今爲止沒有一個理想的解決方案 - 它需要知道該實例的範圍(窗口,其他對象等等)。
混合類:
var Destructor = new Class({
destruct: function(scope) {
scope = scope || window;
// find the object name in the scope
var name = Object.keyOf(scope, this);
// let someone know
this.fireEvent && this.fireEvent('destroy');
// remove instance from parent object
delete scope[name];
}
});
你再使用它的類,你想:
var a = new Class({
Implements: [Events, Options, Destructor],
initialize: function(options) {
this.setOptions(options);
this.hai();
},
hai: function() {
console.log('hai');
}
});
最後,你創建類的實例綁定到onDestroy
var instance = new a({
onDestroy: function() {
console.log('goodbye cruel world. time to set affairs in order!');
}
});
instance.destruct();
instance.hai(); // reference error.
事件
我知道這很冒險,但它可能會讓你明智地摧毀課程並做cl eanup。
非常感謝您的解決方案。我想我會使用它,直到mootools允許我們使用特定的析構函數。 – user1552480 2012-07-27 11:57:09