How can I chain my method calls?
I have an object:
var mubsisapi = {
step1 : function(){alert("a")},
step2 : function(){alert("b")}
}
$.extend(false, mubsisap开发者_如何学编程i)
mubsisapi.step1().step2();
It is give step1()
but not give step2()
. step2()
does not give an alert. How can I do this?
Not JSON, but javascript object. It's not fluent, but it can be:
var mubsisapi = {
step1 : function(){alert("a"); return this;},
step2 : function(){alert("b"); return this;}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
You need to return this
from the function if you want to chain it.
Yes, your object should look like this:
var mubsisapi = {
step1 : function(){alert("a"); return this; },
step2 : function(){alert("b"); return this; }
}
returning itself to allow chaining.
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b"); return mubsisapi;}
}
You cannot chain your function calls. You either have to call them separately:
mubsisapi.step1();
mubsisapi.step2();
or you can change your step1 function so you can chain them:
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b")}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
精彩评论