忍者ブログ

25Apr

[PR]

Posted by in

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

29Jun

クロージャ

Posted by No Name Ninja in 便利な技

変数をグローバルに管理するのではなく、関数内で管理する方法です。現在は、オブジェクト指向が普及してるので、あまりメリットがないかもしれませんが、現場の既存ソースを見て、読めないと困るので、内容だけ理解しておいたほうが良いと思います。
SAMPLE
解説

<script language="javascript" type="text/javascript">

//関数クロージャ
function getCount(){
  var i=0;
  return function(add){
    i+=add;
    return i;
  };
}


//内部の匿名関数を取得
var countUp = getCount();
var countUp2 = getCount();

</script>

関数内のローカル変数は外から操作できません。
クロージャではローカル変数を操作できる関数を返してあげることで、外から操作できるわけです。オブジェクト指向の考え方と似てますね。



以下のサイトで初心者向けにクロージャを説明してくれています。かなりわかりやすかったです。
DQNEO起業日記([JavaScript] 猿でもわかるクロージャ超入門 まとめ)


PR

Comment


Vodafone絵文字 i-mode絵文字 Ezweb絵文字

Trackback