当前位置: 代码迷 >> JavaScript >> 简单的两个JS有关问题,求指教!
  详细解决方案

简单的两个JS有关问题,求指教!

热度:118   发布时间:2012-09-22 21:54:54.0
简单的两个JS问题,求指教!!!
1.全局变量时是全局对象window的属性,局部变量是哪个对象的属性?
2.为什么 var task=tasks.concat();//(tasks是一个数组)可以复制数组?说说原理。。。


------解决方案--------------------
Array的concat方法不是复制数组,是连接两个数组并生成一个新数组。
Array.prototype.concat()表象上起到了一个复制数组的作用,实际上它是生成了一个新数组。
JScript code

var a1=[];
var a2=[];
var a3=a1.concat(a2);
alert(a1==a2);
alert(a1==a3);

------解决方案--------------------
其实concat()也不是严格的复制,如果数组里面的元素有对象存在的话就不行了.
JScript code
var arr = [1,{},3]
var arr2 = arr.concat();
alert(arr === arr2)
alert(arr[1] === arr2[1]) 
  相关解决方案