A = {
f1: function() {
return {
a: function(){ alert('sss'); }
}
}
}
A.f1().a();
为什么使用这种方法?从javascript中的对象方法返回对象
为什么方法a()
绑定到A.f1()?
A = {
f1: function() {
return {
a: function(){ alert('sss'); }
}
}
}
A.f1().a();
为什么使用这种方法?从javascript中的对象方法返回对象
为什么方法a()
绑定到A.f1()?
当你做如下:
var x = A.f1();
你得到的到x是由F1函数返回的对象。它是:
{
a: function(){ alert('sss'); }
}
现在对象'x'上有函数a()。您可以调用该函数为:
x.a();
这是exatly类似于:
A.f1().a();
成员函数f1
的A
返回对象文字,其成员a
设置为函数。它也可以写成:
A = {
f1: {
a: function() { alert('sss'); }
}
}
A.f1.a();
返回一个对象可能在这种情况下是个人喜好。这两个例子之间没有功能上的区别。
他是一种工厂方法,而你的是Singleton类型? – timidboy
我真的不明白的问题是什么?是不是工作的事情你期望的方式吗? –
我曾经认为'A.f1()。a()'不应该工作,因为方法a()不属于f1()。 – HACK21
'a'不属于函数'f1',它属于*调用'f1'返回的值。 –