Home > javascript > javascriptの関数リテラル(っていうの?)が分かった気がした

javascriptの関数リテラル(っていうの?)が分かった気がした

  • Posted by: ryow
  • 2008年8月 1日 18:50
  • javascript
function testFunc(str){
  alert(str)
}

testFunc("こんにちはこんにちは")

関数を用意して、引数をつけて実行する、というのは普通のことです。でもjavascript界ではそういう書き方はレガシーだ、クールじゃない、アホ、氏ね、という扱いになるので、かっちょよく書かないといけません。いけなくないんだけど。

上と同じことを書いているのがこちら。

(function testFunc(){
  alert(str)
})("こんにちはこんにちは")

ポイントは2つくらいあって、まず function(){} を (function(){})と、かっこで包んでいること。これによって関数っぽく見えるtestFuncが関数リテラルという、まぁ、文章か何かになるらしいです。
そして引数は最後の("こんにちはこんにちは")ですが、関数リテラル野郎はここで引数をつけているわけですね。

さらにこれは、明示的に testFunc(); などと書かなくても、そのまま実行されちゃいます。だから関数だけ用意しておいて後で呼び出すぜ! っていうときは普通に関数を書きます。

よく分かってないけどこれの利点があったら教えてください。今っぽい書き方、っていうだけじゃないよね。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/351
Listed below are links to weblogs that reference
javascriptの関数リテラル(っていうの?)が分かった気がした from ryow.net Blog

Home > javascript > javascriptの関数リテラル(っていうの?)が分かった気がした

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top