Pebble's Diary

プログラマーの作業メモ

JavaScript関数もオブジェクトなのでプロパティを追加できる

JavaScriptの関数はオブジェクトなのでプロパティを追加できます。
名有り関数を定義して呼び出しています。
関数名が自分自身の関数オブジェクトを表します。
1) 関数内部で識別子プロパティを追加するケース

function obj() {
    obj.fuga = 4;
    print( obj.fuga ); // 4
} 
obj();

2) 関数内部で連想配列プロパティを追加するケース

function obj() {
    obj["fuga"] = 3;
    print( obj["fuga"] ); // 3
}
obj();

3) 関数外部で識別子プロパティを追加するケース

function obj() {
    print( obj.hoge );
}
obj.hoge = 5;
obj(); // 5




<参考>

JavaScript 第6版

JavaScript 第6版


JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで

JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで


パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)


JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス


JavaScriptパターン ―優れたアプリケーションのための作法

JavaScriptパターン ―優れたアプリケーションのための作法