是否可以将 JavaScript 中的数组转换为函数参数序列?例子:
run({ "render": [ 10, 20, 200, 200 ] }); function run(calls) { var app = .... // app is retrieved from storage for (func in calls) { // What should happen in the next line? var args = ....(calls[func]); app[func](args); // This is equivalent to app.render(10, 20, 200, 200); } }
是的。在当前版本的 JS 中,您可以使用:
app[func]( ...args );
ES5 及更早版本的用户将需要使用以下.apply()方法:
.apply()
app[func].apply( this, args );
在 MDN 上阅读这些方法: