タグ

JavaScriptとcppに関するraimon49のブックマーク (21)

  • メソッドとして関数を呼んだ場合の this の値 - latest log

    今日は、うっかり忘れがちな「メソッド内の this が何を示すか」を復習するついでに、脳内ダンプしてみます。 C++ の this には、 「this(ポインタ)は メソッドの親オブジェクトを示す」 「メソッド内では、 this->hoge() と hoge() は同じ意味になる。thisは省略できる(例外あり)(テンプレート内の名前解決とか)」 「関数の中では this は未定義」 と、明確なルールがありますが、JavaScript の this は呼び出し方により中身が変化する BuzzWord です。 obj1.obj2.fn() の fn の中で this は何になるか window.x = "global"; window.fn = function() { alert(this === window); alert(this.x); }; window.lv1 = { x: "

    メソッドとして関数を呼んだ場合の this の値 - latest log
    raimon49
    raimon49 2010/02/25
    >obj1.obj2.fn() は、「obj1 の要素の obj2 の fn という要素を、obj1.obj2 を this としたメソッドとして実行する」 という意味になります。