Kawa.netブログ(川崎有亮)

アクセスカウンタ

help リーダーに追加 RSS 無名オブジェクトの new でグローバル変数汚染を回避 - jQuery

<<   作成日時 : 2007/01/14 16:58   >>

トラックバック 0 / コメント 0

jQuery 面白いですね。
 
従来、JavaScriptでグローバル変数を汚染せずに初期化処理を行う場合など
無名関数を定義してその場で実行する手法が多く利用されていました。
(function(){
    var tmp = 0;
    // 初期化処理とか
})();
関数の中で var 宣言しているので、関数内で変数 tmp をいくら書き換えても、
グローバル変数の tmp に影響がありません。

しかし jQueryの内部では、無名オブジェクトを作成して、その場で new することで
インスタンス生成(=コンストラクタを実行)する手法が多用されています。
new function(){
    var tmp = 0;
    // 初期化処理とか
};
こちらも関数の中で var 宣言しているので、同じ効果が得られます。
JavaScriptでは関数もオブジェクトも同じなので、大差ないのですが、
コード中のカッコの個数が削減できて、見た目にも分かりやすい。

単純にコードブロック冒頭に接頭辞として『new function()』を付けるだけで
変数の汚染を防げるようになるから、お手軽ですね。賢いなあ。

などと思っていたら、ちょうど、今日、jQuery のサイトが更新されたようです。
いかにも Web 2.0 風にグラデーションが入ったデザインになりました。
jQuery 1.1がリリースされたんですね!

【更新前】


【更新後】 2007-01-14

設定テーマ

関連テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文

EDGE Now!