thisは何を指す?(1)

thisはC++のそれと似たようなもので、
要するに自分自身を指す。


次は、ユーザー定義オブジェクトでの例。


function Person(age) {
this.age = age;
this.getAge = function() { return this.age; }
}

var p = new Person(14);
alert(p.getAge() + "歳");

また、イベントハンドラでも使われる。


var div = document.getElementById("div1");
var aNode = document.createElement("a");
aNode.href = "javascript:void(0)";
aNode.innerHTML = "test1";
aNode.onclick = function() { alert(this.n); }
aNode.n = 3;
div.appendChild(aNode);

// このアンカーをクリックしたとき "3" と表示される

「this.n」の「this」は、
クリックされたaNodeを指す。


では、これが複合したときはどうなるだろう。