从javascript中的对象方法返回一个对象

时间:2012-09-05 02:16:05

标签: javascript

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

A.f1().a();

为什么以这种方式使用?

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

2 个答案:

答案 0 :(得分:1)

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

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

A.f1.a();

在这种情况下,返回对象可能是个人偏好。这两个例子之间没有功能差异。

答案 1 :(得分:0)

如下所示:

var x = A.f1();

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

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

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

x.a();

与...非常相似:

A.f1().a();