エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

JavaScriptの関数は、自分の外側の変数を参照することが出来る【72日目】

参考

qiita.com

クロージャの例

上の記事の関数を引用。

function func() {
  var value = 1;

  function innerFunc() {
    value++;
  }
  innerFunc();
  console.log(value); // 2
}
func();

動作順番

  1. func()が動作。
  2. valueに1代入
  3. innerFunc()が動く、valueがプラスされる
  4. ログが表示される。2が表示される

ここからわかること

innnerFuncは外のvalueを参照することが出来る。

内側の関数は、外側の変数を使えていることだけを頭に入れておく。

コピーではなく参照

function func() {
  var value = 1;

  function innerFunc1() {
    value++;
  }
  function innerFunc2() {
    value++;
  }
  innerFunc1();
  innerFunc2();
  console.log(value); // 3
}
func();

参照なので、innerFunc1とinnerFunc2は同じvalueを使用することが出来る。

日記

さて、もう早くも今年が終わりますね。

クリスマスイヴは皆さんどう過ごしましたか?
私は友人と『Minecraft』と『ディシディアファイナルファンタジーのオープンβ』をガッツリやってました
(要するにゲーム

まあゲームをガッツリやることはなかなか出来てなかったし、たまにやるゲームはやっぱりいいですね。
自炊も出来て、ちょっと幸せ気分。久々に自分で作る料理は美味しかったです!

いい感じに余裕が出てきたので、残りのお仕事頑張るぞー!

今日の運動

エアロバイク 3.0km