访问AS3中可能未定义的XML对象属性



AS3编译器说直接通过XML对象访问属性是错误的。这是遗留(AS2)代码还是应该与AS3编译器一起工作?我听说AS3支持E4X,它允许直接访问属性。

我正在编译FlashDevelop 4, Flex 4.5.1和AIR 3.0在Windows 7上。我有-swf-version=13集,我在"严格模式"下编译。代码来自一个成熟的AS3库,绝对可以编译。我做错了什么?

var node:XML;
var n:String = node.@name; // Access of possibly undefined property "name" through .. XML

编辑:这是不是一个运行时错误,它说我不能访问一个属性,因为变量是空的,这是一个编译时错误,并防止项目的编译。AS3编译器不允许在XML对象中编译直接的属性访问

但是您的node在此代码中未定义/null!您应该得到«无法访问空对象引用的属性或方法»错误!如果初始化了node,那么…您是否尝试过清理项目并重新构建它?(有时候真的很有用)

在变量声明时,对象的默认值为null,即Sprite, XML, Array, Vector等。你不能访问null对象的任何属性

最新更新