【问题标题】:Flex4 Is an object referenced by value or by reference?Flex4 对象是按值引用还是按引用?
【发布时间】:2011-04-07 15:49:11
【问题描述】:

在 Actionscript 3 中,我读到任何不是基本体的东西都是通过引用来引用的,而基本体是通过值来引用的。我相信一个对象是一个原始的,它是由值引用的吗?

例如,如果我创建

//Symbol class (not a primative)
var symbol:Symbol = new Symbol();
symbol.color = 0xFFFFFF;

var obj:Object = new Object();
obj.symbol = symbol 

symbol.color = 0x000000; //change the original symbol color

trace(obj.symbol.color.toString()) //display color of symbol in obj

这会返回 0xFFFFFF 还是 0x000000?

【问题讨论】:

    标签: actionscript-3 flash apache-flex flex4


    【解决方案1】:

    “原始”基本上是指整数或字符串。我不记得它是两个整数还是只有整数,但其他一切都是参考。

    您可以尝试运行的简单测试代码:

    var spr:Sprite = new Sprite();
    var obj:Object = {spr:spr};
    var other:Object = {obj:obj};
    spr.x = 100;
    trace(other.obj.spr.x);
    

    跟踪 100,而不是 0。

    【讨论】:

    • > 原始值是属于以下数据类型之一的值:Boolean、int、Number、String 和 uint。
    • 正是我要找的东西谢谢!..现在我必须弄清楚我对我的班级的引用去哪里了:P
    猜你喜欢
    • 2015-06-12
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2016-11-28
    相关资源
    最近更新 更多