A = {
f1: function() {
return {
a: function(){ alert('sss'); }
}
}
}
A.f1().a();
なぜこのように使われるのですか?
a()
メソッドがA.f1()にバインドされているのはなぜですか?
A = {
f1: function() {
return {
a: function(){ alert('sss'); }
}
}
}
A.f1().a();
なぜこのように使われるのですか?
a()
メソッドがA.f1()にバインドされているのはなぜですか?
のメンバー関数f1
は、メンバーが関数に設定されA
たオブジェクトリテラルを返しますa
。また、次のように書くこともできます。
A = {
f1: {
a: function() { alert('sss'); }
}
}
A.f1.a();
この場合、オブジェクトを返すことは個人的な好みである可能性があります。これら2つの例の間に機能的な違いはありません。
以下のようにすると:
var x = A.f1();
xに到達するのは、f1関数によって返されるオブジェクトです。これは:
{
a: function(){ alert('sss'); }
}
これで、オブジェクト'x'に関数a()が追加されました。その関数を次のように呼び出すことができます。
x.a();
これは非常に似ています:
A.f1().a();