加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

actionscript-3 – ActionScript:如何通过VALUE而不是REFERENCE

发布时间:2020-12-15 02:14:15 所属栏目:百科 来源:网络整理
导读:我发现通过参考方法使用ActionScript的数组赋值并不熟悉.我理解它在做什么,但我发现用这种方法管理很多数组会让人感到困惑.是否有一种简单的方法来处理ActionScript数组,其中数组赋值是通过VALUE而不是REFERENCE?例如,如果我想将oneArray分配给twoArray而不
我发现通过参考方法使用ActionScript的数组赋值并不熟悉.我理解它在做什么,但我发现用这种方法管理很多数组会让人感到困惑.是否有一种简单的方法来处理ActionScript数组,其中数组赋值是通过VALUE而不是REFERENCE?例如,如果我想将oneArray分配给twoArray而不再将这两个数组永远地连接在一起,那该怎么做呢?这会有用吗?
var oneArray:Array = new Array("a","b","c");
var twoArray:Array(3);
for (ii=0; ii<3; ii++) { twoArray[ii] = oneArray[ii]; }

目的是能够在不看到oneArray中的更改的情况下更改twoArray.

任何建议如何通过VALUE而不是REFERENCE分配数组?

– – 以供参考 – –

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html

数组赋值是通过引用而不是值.将一个数组变量分配给另一个数组变量时,两者都引用相同的数组:

var oneArray:Array = new Array("a","c");
var twoArray:Array = oneArray; // Both array variables refer to the same array.
twoArray[0] = "z";             
trace(oneArray);               // Output: z,b,c.

解决方法

您可以克隆数组以保证每个Array元素中具有相同值的两个单独副本:
var oneArray:Array = new Array("a","c");
var twoArray:Array = oneArray.concat();
twoArray[0] = "z";
trace(oneArray); // Output: a,c

希望这是你正在寻找的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读