オブジェクトの拡張を局所化したブロック内で行う

オブジェクトを即時関数の引数に渡して、関数ブロック内で拡張を行う。

 var obj = {};
 (function (o) {
     var num = 123;
     o.num = num;
 })(obj);
 console.log(obj.num); // 123

ちなみに、

 var num = 0;
 (function (n) {
      n = 123;
 })(num);
 console.log(num); // 0

は、期待通りにならない。↓もダメ。

 var obj = {};
 (function (o) {
    var num = 123;
    o = { num:num };
 })(obj);
 console.log(obj.num); // undefined

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-01-27 (金) 19:30:02