我有一个非常简单的问题,我需要从函数参数创建一个数组列表,到目前为止我设法逐个提醒它们,但无法创建列表:
<span onclick="show_flights(1,2,3,4);">text</span>
和功能
function show_flights() {
var list='';
for (var x = 0; x < arguments.length; x++) {
alert(arguments[x]);
list.append(arguments[x]);
};
alert(list);
谢谢大家的帮助,我真的很感激!
答案 0 :(得分:4)
您可以直接将arguments
对象转换为数组:
function show_flights() {
var list = Array.prototype.slice.call(arguments, 0);
alert(list);
}
如果您对如何/为何真正起作用的详细信息感兴趣,请阅读ECMAScript规范,特别是Array.prototype.slice
方法部分。总而言之,该方法将尝试从调用它的对象(其this
值)创建一个数组,迭代其属性并将它们添加到该新数组(通过内部机制) [[DefineOwnProperty]]
)。