解决方案 »
- 急!!!javascript中怎么取到table中的单元格的值?
- 报错:document.images.s_l 为空或不是对象
- [求助]如何处理同级别的dom事件流?
- 一个单选按纽能否任意切换选中/不选中
- ***** 在 htc 中使用 window.setTimeout 的问题 *****
- 关于对象ACTIVEXOBJECT的使用.
- 问个小问题,在一个网页中打开一个非模态的窗口,在点击关闭这个非模态的窗口时,要刷新原窗口
- 请高手提供一下window.open("","","")的所有参数.
- 唉,,为2:0放送200分........
- extjs form加载数据无法执行success:function
- 关于jquery中的扩展小疑问
- 求助,关于jQuery中.ready()和.trigger()问题
谁能帮忙解释下
javascript arr1.splice.apply(arr1, arr2);
他的任用是什么,他是怎么执行的.为什么会出现上面的现象.很难看懂.
这样行吗
等价于:
arr1.splice(4,5,6);
var $a =[1,2,3];
var $b = [4,5,6];
$b.unshift(0,0);//$a.splice(0,0,'jiang',6,9);
Array.prototype.splicexx = function(start,deletecount){
var items,len1,lenthis,cloneitem,newitem;
newitem = [];
items = Array.prototype.slice.call(arguments,2);
len1 = items.length;
lenthis = this.length;
for(var i=0;i<lenthis;i++){
if(i == start){
for(var j=0;j<len1;j++){
newitem.push(items[j]);
}
for(var k=0;k<deletecount;k++){
i++;
}
}
newitem.push(this[i]);
}
return newitem;
}var $c = $a.splicexx.apply($a,$b);
var $x = 'ddd';
///////////////////////////////////////////关健在 arr2.unshift(x, y); 这里x, y 设置的值不一样arr1.splice.apply(arr1, arr2);结果 arr1所返回的值,就不会一样. (0,0) (1,0), (1,0), (1,1), (1,2)等等.///////奇怪, unshift(x,y,z...) 不是将里面参数的值的添加到 数组的前面么...//////////////////////////怎么splice.apply的结果都不一样呢?????????????????????????????太变态了./////////////////////////////////////////////////谁能详细的说明下的么??
////////////////////////////////////////////////////////现在可以知道的是, 也是猜的;arr2.unshift(x, 0); 后个一定为0;
则
arr1.splice.apply(arr1, arr2);就是将arr2除 x, 0元素外的所有元素,添加到arr1索引第x之后.
var arr2=[4,5,6]
arr2/unshift(0,0) //arr2=[0,0,4,5,6]
arr1.splice.apply(arr1,arr2)
// arr1=arr1.splice(0,0,4,5,6)
//从arr1索引0开始.去除0个元素,插入arr2
// arr1=[4,5,6,1,2,3]
arr3=[11,12,13]
arr4=[21,22,23]
arr4.unshift(1,0) //arr4=[1,0,21,22,23]
arr3.splice.apply(arr3,arr4)
//arr3=arr3.splice(1,0,21,22,23)
//arr3=[11,21,22,23,12,13]