数组 与 参数数组 函数中的arguments是对象但不是数组对象 arguments instanceof Array: false arguments instanceof Object: true 把数组传给函数当参数,argements仅有一个元素 把参数数组传递给函数当参数,argements包含多个元素 传递给函数2个参数的办法: A方案:使用参数数组 var args = ['1','2']; fun.apply(null,args); argements[0]='1'; argements[1]='2'; B方案:直接传2个参数 fun('1','2'); argements[0]='1'; argements[1]='2'; 错误的方案: fun(args); argements[0]=['1','2'];
数组操作:
//重构数组 Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]) { this[n++]=this[i] } } this.length-=1 } //在数组中获取指定值的元素索引 Array.prototype.getIndexByValue= function(value) { var index = -1; for (var i = 0; i < this.length; i++) { if (this[i] == value) { index = i; break; } } return index; } //添加元素 var itemIds = new Array(); itemIds.push(id); //删除元素 var dx=itemIds.getIndexByValue(itemId); itemIds.remove(dx);