タグ

クロージャに関するkabukisanのブックマーク (2)

  • [JavaScript] 猿でもわかるクロージャ超入門 3 無名関数 - DQN起業日記

    Javascriptでは、関数を定義するのに2通りのやり方があります。(注1) 関数を定義する方法その1 (普通のやり方) <script> function speak(){ alert("hello"); } speak(); // "hello"と出力 </script> はい、普通ですね。 次はJS特有のやり方です。 関数を定義する方法その2 (無名関数を使う) <script> var speak = function (){ alert("hello"); } speak(); // "hello"と出力 </script> 2行目に注目。 この式の右辺、function( ){...}の部分を無名関数といいます。 右辺で無名関数を生成して、それを変数speakに代入しています。 こうすると、変数speakはまるで関数のような振る舞いをします。(というか関数になります) spe

    [JavaScript] 猿でもわかるクロージャ超入門 3 無名関数 - DQN起業日記
  • 私が今までクロージャを理解できなかった理由 - プログラミングを勉強するブログ

    Javascriptを勉強する上で誰もがつまずくと言われるクロージャですが私も例に漏れず理解できないでいました。 さまざまな解説サイトを読んだりサンプルコードを書き換えてみたりして 静的なスコープの言語で利用できる。 関数が終了したあともそのローカル変数が参照できる。 といったクロージャの「仕組み」や「特徴」については分かったものの、もっとも重要ともいえる 「どういう時にクロージャを使えばいいのか」 が分かりませんでした。言いかえると友人がなんて言って悩んでいる時に 「そう言う時はクロージャを使うといいよ」 と言ってあげればいいのか。 例えばプログラムの勉強を始めた友人が 「これと同じ処理もう何回も書いてるんだよ。コピペばっかりしてる気がする」 と言って悩んでいたら 「そこを関数にすればいいんじゃない?」 って教えてあげますよね。 これと同じように友人が 「○○○○○○なんだよ、うまい方法

    私が今までクロージャを理解できなかった理由 - プログラミングを勉強するブログ
  • 1