タグ

ブックマーク / higelog.brassworks.jp (1)

  • 無名関数を定義して即実行する - ひげろぐ

    JavaScriptのライブラリのコードを読んでいるとよく以下のようなコードを見かける。 (function() { var hoge = {}; hoge.a = function(){ //... } //... })(); 定義した無名関数を末尾の「()」で実行しているというわけだ。代わりに「.call()」にしているものも見かける。 無名関数の関数スコープを使うことでグローバルコンテキストを汚すことを気にせずに、好きなように変数が使える。 クロージャのおかげで残したいものはグローバルコンテキストに渡して残せる。 割と昔からあるテクニックみたいだけど、にわかJavaScripter的にはなるほどと思ったのでメモ。 参考 Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について

  • 1