我有一个对象:
var mubsisapi = {
step1 : function(){alert("a")},
step2 : function(){alert("b")}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
提供step1()
但不提供step2()
。 step2()
未发出提醒。我怎么能这样做?
答案 0 :(得分:16)
不是JSON,而是javascript对象。它不是fluent,但它可以是:
var mubsisapi = {
step1 : function(){alert("a"); return this;},
step2 : function(){alert("b"); return this;}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
答案 1 :(得分:9)
如果要将其链接起来,则需要从函数返回this
。
答案 2 :(得分:3)
是的,您的对象应如下所示:
var mubsisapi = {
step1 : function(){alert("a"); return this; },
step2 : function(){alert("b"); return this; }
}
返回以允许链接。
答案 3 :(得分:2)
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b"); return mubsisapi;}
}
答案 4 :(得分:1)
您无法链接您的函数调用。您要么必须单独调用它们:
mubsisapi.step1();
mubsisapi.step2();
或者您可以更改step1功能,以便链接它们:
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b")}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();