1. 無名関数は名前がないだけの普通の関数
JavaScript で、最初に
「何だ?この書き方は。」
と思ったのが、無名関数を定義し、すぐにその関数を実行する記述。
無名関数と言えば、 JavaScript ではブロックスコープを実現するために用いられる。
2. 無名関数の定義
無名関数を定義し、すぐにその関数を呼び出すには、以下のように記述する。
(function(){alert("hoge")})()
無名関数の中で変数を定義すれば、その変数のスコープは関数の中に限定される。そのため、無名関数をブロックと見なすことができる。
上記の無名関数に、引数を与える。
(function(str){alert(str)})("hoge")
引数を二つ与える場合は、
(function(a,b){alert(a+b)})("hoge","piyo")
3. 無名関数に引数を与える覚え方
無名関数を定義して、すぐにその関数を呼び出す書き方は一見覚えにくい。しかし、次のようにして頭に入れておくと、忘れることはない。
はじめに () を二つ並べる。
()()
- 一つ目の () を関数と見たてる。
- 二つ目の () は、その関数の呼出し。引数がある場合、ここに渡す。
次に、無名関数の定義の仕方を思い出す。名前のある関数から、名前を削除すれば、無名関数がの出来上がり。
function(){}
これを最初の () に入れたら、出来上がり。
(function(){})()
0コメント:
コメントを投稿