2004/08/04 | 正确复制Array的方法 (本文章由luar发表)
类别(flash杂项) | 评论(0) | 阅读(183) | 发表于 01:07
正确复制Array的方法 (

对一般Variable,用=有复制的作用,例如∶


a = 1;
b = a;
trace(a+", "+b); // 1,1
b = 2;
trace(a+", "+b); // 1,2

新Variable如有改变,是不会影响旧复制Variable。

但是应用在Array上,=实际上是Reference的作用,用另一个名称指向同一组Array,因此改变新Array等於同时改变旧Array,例如∶

a = [1, 2, 3];
b = a;
trace(a+" - "+b); // 1,2,3 - 1,2,3
b[1] = 5;
trace(a+" - "+b); // 1,5,3 - 1,5,3

如果要复制Array,应该用slice()或concat()∶

a = [1, 2, 3];
b = a.slice();
trace(a+" - "+b); // 1,2,3 - 1,2,3
b[1] = 5;
trace(a+" - "+b); // 1,2,3 - 1,5,3





0

评论Comments