C++ では、コンストラクタとデストラクタを明示的に定義してから、正確な場所を知るために、コンストラクタ/デストラクタ関数内で << "C or D Called" を使用できます。
ただし、JavaScript では、オブジェクトがいつ破棄されたかをどのように知ることができますか。以下の例は、私が関係するケースです。
タイムアウト時に内部関数を呼び出していますが、タイマーが実行されている限りオブジェクトが生き続け、次の呼び出しを待っているかどうか疑問に思っています。
ユーザー クリック コール コントロール
// Calls Control
コントロール コール メッセージ
var message_object = new Message( response_element );
メッセージ通話の効果
new Effects().fade( this.element, 'down', 4000 );
message_object.display( 'empty' );
効果
/**
*Effects - build out as needed
* element - holds the element to fade
* direction - determines which way to fade the element
* max_time - length of the fade
*/
var Effects = function( )
{
this.fade = function( element, direction, max_time )
{
element.elapsed = 0;
clearTimeout( element.timeout_id );
function next()
{
element.elapsed += 10;
if ( direction === 'up' )
{
element.style.opacity = element.elapsed / max_time;
}
else if ( direction === 'down' )
{
element.style.opacity = ( max_time - element.elapsed ) / max_time;
}
if ( element.elapsed <= max_time )
{
element.timeout_id = setTimeout( next, 10 );
}
}
next();
}
};