リテラルオブジェクトで、ネストされたプロパティ/関数内で「this」を使用して関数を参照しようとすると、これは機能しません。なんで?ネストされたプロパティには独自のスコープがありますか?
たとえば、d.f2の内部からf1を呼び出したいと思います。
var object = {
a: "Var a",
b: "Var b",
c: "Var c",
f1: function() {
alert("This is f1");
},
d: {
f2: function() {
this.f1();
}
},
e: {
f3: function() {
alert("This is f3");
}
}
}
object.f1(); //作業
object.d.f2(); //動作しません。object.e.f3(); // 仕事
ありがとう、アンドレア。