OSDN Git Service

Version 0.6.160, fix X.Net.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 10_XCallback.js
index 31c8a3c..781a255 100644 (file)
@@ -48,32 +48,8 @@ var
 var listener;\r
 \r
 /**\r
- * <h4>クロージャについて</h4>\r
- * javascript 開発で多用されるクロージャですが、次の理由によりその使用は慎重になるべきです。\r
- * <ol>\r
- * <li>正しく参照を切ってガベージコレクトされる条件を満たしたか?プログラマが見落としやすく、結果メモリリークを起こしやすい。特にコードがコールバック地獄になると目も当てられない。\r
- * </ol>\r
- * \r
- * とくに次のようなページでは、クロージャの使用を極力避けるべきです。破棄が行われることが確実で即時関数によって新しい名前を追加したくない場合と、次項で紹介する絶対に必要なケース以外で使わないようにします。\r
- * <ol>\r
- * <li>ajax によりデータ取得がたびたび起こり、合わせて不要なデータの破棄も行う。\r
- * <li>シングルページアプリケーションで画面の生成と破棄が繰り返される。\r
- * <li>Web アプリケーションで、一度開いたら一日中操作し続けるユーザーも想定される。\r
- * </ol>\r
- * \r
- * <h4>クロージャが絶対に必要な場合</h4>\r
- * IE5 ~ IE8 の独自イベントモデルに於いて、イベントオブジェクトに event.currentTarget に相当するものがなく、現在どの HTML 要素でイベントが起こっているか分かりません。<br>\r
- * そのため HTML 要素とコールバック関数を束縛するクロージャを使う必要があります。<br>\r
- * 参照:『Javascript 第5版』 オライリー p430 17.3.6 attachEvent() と this キーワード<br>\r
- * \r
- * このほかに IE8 以下と Opera11 以下の XHR ではイベントオブジェクトが用意されないため、eventType が分からない問題があります。このために eventType とコールバック関数を束縛するクロージャが必要です。<br>\r
- * \r
- * このように、Web ブラウザと javascript の接点では、どうしてもクロージャが必要なケースがあります。<br>\r
- * さて、クロージャの使用を最小限に留め、残った僅かなクロージャのメモリリークをチェックし、といくら慎重に開発を行っても、そもそもクロージャが破棄されるのか?ガベージコレクションの怪しいブラウザもあり問題はまだ続きます。\r
- * \r
- * <h4>再利用可能なクロージャ</h4>\r
- * クロージャの使用を最小限にしたうえで、なおかつクロージャがガベージコレクションされない可能性を考慮して、pettanR フレームワークでは再利用可能なクロージャを用意します。<br>\r
- * 再利用可能クロージャはフレームワーク内で生成・破棄されるため、ユーザーが直接触ることはありません。しかし debug ツールのコールスタックには登場するため、知識を持っておくことは有益です。<br>\r
+ * <p>クロージャに関するポリシーと再利用可能クロージャについて次の記事をご覧ください。\r
+ *     <a href="http://outcloud.blogspot.jp/2015/05/reusable-closure.html" target="_blank">再利用できるクロージャを使ったWebアプリケーション開発</a>\r
  * \r
  * <h5>再利用可能クロージャの作成</h5>\r
  * X_Callback_create() で再利用可能なクロージャの作成。次のパターンで呼び出します。<br>\r