我在javascript中有一个帮助类,我必须像这样使用
menu
.createMenu("TestMenu", "Description")
.addMenuItem("test", "", true, true, "callServerTrigger",
"testServerEvent")
.addMenuItem("test", "", true, true, "callServerTrigger", "testServerEvent")
.addMenuItem("test", "", true, true, "callServerTrigger", "testServerEvent")
.addMenuItem("test", "", true, true, "callServerTrigger", "testServerEvent")
.addCloseButton();
但我必须在这里使用for循环。
menu
.createMenu("TestMenu", "Description")
for (var i = 0; i < arr.length; i++) {
.addMenuItem(arr[i], "", true, true, "callServerTrigger", "testServerEvent")
}
.addCloseButton();
我尝试了这个但是“。”给出了语法错误。我该怎么做?
答案 0 :(得分:3)
您可以使用变量来保留链接对象。
var temp = menu.createMenu("TestMenu", "Description");
for (var i = 0; i < arr.length; i++) {
temp = temp.addMenuItem(arr[i], "", true, true, "callServerTrigger", "testServerEvent");
}
temp.addCloseButton();
或者使用Array#reduce
,其中返回值保留链式对象。
arr.reduce(function (r, a) {
return r.addMenuItem(a, "", true, true, "callServerTrigger", "testServerEvent");
}, menu.createMenu("TestMenu", "Description")).addCloseButton();
答案 1 :(得分:-1)
另外,如果你的arr-array中没有任何东西。开头的长度为0,可能导致错误。