我如何链接我的方法调用
How can I chain my method calls?
我有一个对象:
var mubsisapi = {
step1 : function(){alert("a")},
step2 : function(){alert("b")}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
给出step1()
,不给出step2()
。step2()
不发出警报。我该怎么做呢?
不是JSON,而是javascript对象。它不是很流利,但它可以:
var mubsisapi = {
step1 : function(){alert("a"); return this;},
step2 : function(){alert("b"); return this;}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
如果您想链接它,则需要从函数返回this
。
是的,你的对象应该是这样的:
var mubsisapi = {
step1 : function(){alert("a"); return this; },
step2 : function(){alert("b"); return this; }
}
返回自身以允许链接
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b"); return mubsisapi;}
}
不能链接函数调用。你要么单独调用它们:
mubsisapi.step1();
mubsisapi.step2();
或者你可以改变你的step1函数,这样你可以把它们链接起来:
var mubsisapi = {
step1 : function(){alert("a"); return mubsisapi;},
step2 : function(){alert("b")}
}
$.extend(false, mubsisapi)
mubsisapi.step1().step2();
相关文章:
- 为什么可以't我从hamsters.js内部运行我的方法
- 随机数生成器,what'我的方法/统计数据有问题吗?[JS]
- 如何将我的路由器绑定到我的方法-Backbonejs
- 为什么我的C#方法没有从AJAX调用
- 带有方法的 Javascript 对象返回“没有方法'我的方法名称'”错误
- 为什么我的方法看不到这个属性
- 为什么当我将函数添加到Snap.load(..正在加载SVG..我的方法..)中时,我不能调用Snap.Road()内部
- jQuery/AAJAX,检索我的方法返回的字符串
- 卡住了.adddeventlistener不能在属性内处理我的方法.Javascript
- 如何测试我的方法是否在angular2中抛出一个可观察错误
- 为什么我的方法没有返回对象
- 使用if语句和innerHTML来替换内容,我的方法不工作.完全
- 函数没有我的方法可用
- 我如何链接我的方法调用
- 我的方法对xss是完全安全的吗?
- 创建一个对外部世界只读的属性,但我的方法仍然可以设置
- 如何判断我的方法接受yuidoc中的{id: String, label: String}数组
- Ajax 的 Laravel 5 返回视图 - 我的方法很笨拙还是很好
- 为什么我的 ajax post.request 调用我的方法,但没有做任何事情
- 使用裁剪器以减小的尺寸缩放和移动图形 - 是我的方法声音