为了说明我的问题。假设以下代码片段:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.Button;
private function createButton():void
{
var myButton:Button = new Button();
myButton.label = "Foo";
this.btncontainer.addChild(myButton);
trace ("New Button Created [" + myButton.toString() + "]");
}
]]>
</mx:Script>
<mx:Button label="Create Button" click="createButton()" />
<mx:VBox id="btncontainer" />
</mx:Application>
这个脚本的行为应该是显而易见的。每次单击“创建按钮”按钮都会生成一个带有“Foo”标签的新按钮。代码做什么以及为什么这样做对我来说很有意义。我的问题是关于控制台输出。当我在调试模式下运行应用程序并单击“创建按钮”四次时,我在控制台中得到以下信息:
New Button Created [main0.btncontainer.Button15]
New Button Created [main0.btncontainer.Button19]
New Button Created [main0.btncontainer.Button23]
New Button Created [main0.btncontainer.Button27]
我的问题是附加到对象名称的数字来自哪里?例如 Button15、19、23、27... 等?背景中是否有某种数组来保存对象,这是一个索引值吗?它是某种内部计数器吗?这是某种指针值吗?至少在我的测试中,为什么它似乎总是遵循相同的模式 15、19、23、27 ......在这种情况下每次都被 4 分隔?
我从概念上理解这里发生了什么。生成一个新的 Button 对象并分配内存。每次单击“创建按钮”时,我都会创建 Button 类的新实例并将其作为子对象添加到 VBox 对象中。我只是好奇在创建对象时附加到对象的数字的含义或意义是什么?