[javascript]
A = function(){
this.myName = “A”;
}
A.prototype = {
trace:function(){
alert(this.myName);
}
}
B = function(){
this.myName = “B”;
}
B.prototype = {
callme:function(callme){
callme();
}
}
$a = new A();
$b = new B();
$b.callme($a.trace);
[/javascript]
AとBにはそれぞれmyNameを設定
BのインスタンスにAのインスタンスのメソッドtraceを渡し、Bのインスタンスに呼んでもらう。
結果はAでもBでもなく、undefined.
traceメソッド内のthisはwindowになる。traceが匿名関数になる。
なんどもなんどもつまずくところ。