タグ

Javascriptとクロージャに関するrizmhateのブックマーク (3)

  • JavaScriptでクロージャ入門。関数はすべてクロージャ? - Qiita

    JavaScriptでは関数はすべてクロージャです。 ではそもそもクロージャってなんなんでしょうか。 クロージャ?? クロージャの簡単な定義として 「自分を囲むスコープにある変数を参照できる関数」 が挙げられます。 言葉ではパッとしないかもしれませんが、コードを一つづつ追っていくと、 入門としてのクロージャは簡単に理解できます。 スコープ まずJavaScriptは関数ごとにスコープが作られます。 スコープとは変数を参照できる範囲のことです。 その範囲外では変数は参照できません。 function func() { var value = 1; console.log(value); } func(); // 1 console.log(value); // undefined

    JavaScriptでクロージャ入門。関数はすべてクロージャ? - Qiita
  • JavaScript のスコープチェーンとクロージャを理解する - tacamy--blog

    前回で JavaScript のスコープの基がわかったので、今回はスコープチェーンとクロージャを勉強してみました。 Call オブジェクトとクロージャの理解がかなり大変でした・・。 変数オブジェクト JavaScript で変数の宣言と参照をするということは、変数オブジェクトを読み書きするということです。 変数オブジェクトというのは、key と value による変数管理専用のハッシュテーブルのこと key が変数名、value が値のセットになっているテーブルで、変数の数だけレコードができるイメージ 変数オブジェクトはプログラマが意識することのない、便宜的なオブジェクト グローバルオブジェクト JavaScript は、ブラウザが新しいページを読み込んだとき、内部的に新しいグローバルオブジェクトを生成して初期化します。 グローバルオブジェクトとは、グローバル変数やグローバル関数を管理す

    JavaScript のスコープチェーンとクロージャを理解する - tacamy--blog
  • いげ太のブログ: [JavaScript] イベント上の this をめぐる攻防

    this といえば自分自身のインスタンスを参照するもの。OOP に染まったプログラマなら、そう理解しているのが普通だろう。しかし JavaScript において、this の参照先は実行されるコンテキストによって以下のように変化する。 イベント ハンドラ内では、イベントの発生源(イベント ソース)のオブジェクトを参照する。 オブジェクトのプロパティ内では、自分自身のインスタンスを参照する。 ここで重要なのは 1. の方が優先されるってこと。両方が成立する場合、つまりイベント ハンドラにインスタンス メソッドを指定した場合、当該メソッドに出現する this はイベントの発生源を指すということ。 さて注目すべきは、this がイベントの発生源を参照するのは、イベント ハンドラの内だけである点だ。イベント ハンドラから参照されるオブジェクト内では、それは適用されないのである。言い方を変えれば、イ

  • 1