javascriptの構造体を探しています。これは、C++のスタックベースまたはローカルオブジェクトのデストラクタのように機能します。C++のスタックベースのオブジェクトのようなものjavascript
これは、スコープが終了したとき(「スコープから外れる」とき)にアクションを実行する構造体を探していることを意味します。それは、C++のデストラクタ(mutex-allocとreleaseのラッピングに使用される)のように、スコープの終わりに特別なアクションを必要としないように堅牢でなければなりません。
乾杯、範囲内のコードは、同期であることが保証されている場合は、その後のデストラクタを呼び出す関数を作成することができ
Hmm。複雑ですが、機能します。 "var beginscope"はMに固有なので、次に変更することができます: M.scoped = function(func){ var m = new M; func(m); ; m.destruct(); }; であり、その使用は次のようになります。 M.scoped(function(m){ m.inc(); m.inc(); }); – MGrant
申し訳ありませんが、以下のように書かなければなりません:var enteredcope-definitionはMに特有のものにすることができます。 – MGrant
'item.destruct()'は 'finally'ブロックにラップする必要があります: ' try {func(item); } finally {item.destruct(); } ' – user