简单的两个JS问题,求指教!!!
1.全局变量时是全局对象window的属性,局部变量是哪个对象的属性?
2.为什么 var task=tasks.concat();//(tasks是一个数组)可以复制数组?说说原理。。。
[解决办法]
Array的concat方法不是复制数组,是连接两个数组并生成一个新数组。
Array.prototype.concat()表象上起到了一个复制数组的作用,实际上它是生成了一个新数组。
var a1=[];var a2=[];var a3=a1.concat(a2);alert(a1==a2);alert(a1==a3);
[解决办法]
其实concat()也不是严格的复制,如果数组里面的元素有对象存在的话就不行了.
var arr = [1,{},3]var arr2 = arr.concat();alert(arr === arr2)alert(arr[1] === arr2[1])