0
A = {
    f1: function() {
        return {
            a: function(){ alert('sss'); }
        }
    }
}

A.f1().a();

为什么以这种方式使用它?

为什么方法a()绑定到 A.f1()?

4

2 回答 2

1

f1的成员函数A返回一个对象字面量,其成员a设置为一个函数。它也可以写成:

A = {
   f1: {
        a: function() { alert('sss'); }
    }
}

A.f1.a();

在这种情况下,返回对象可能是个人喜好。这两个示例在功能上没有区别。

于 2012-09-05T02:29:15.450 回答
0

当您执行以下操作时:

var x = A.f1();

你得到的 x 是 f1 函数返回的对象。这是:

{
   a: function(){ alert('sss'); }
}

现在对象'x'上面有函数a()。您可以将该函数称为:

x.a();

这与以下内容非常相似:

A.f1().a();
于 2012-09-05T03:54:24.710 回答