Actionscript 3 AS3:如何使用;作为「;操作人员

Actionscript 3 AS3:如何使用;作为「;操作人员,actionscript-3,Actionscript 3,我的ImageItemVO有一个名为title的公共变量。 此代码运行后,“var v”为空。为什么? 有人能给我一个如何使它工作的例子吗?as操作符用于将对象从一种类型强制转换为另一种类型,但仅当对象可以这样强制转换时才起作用。如果不能,它将为您提供null。如果无法铸造对象,则另一种铸造方法(即您在最后一行中的铸造方法)会给您一个错误 在这种情况下,你根本不想铸造,铸造不工作的方式。相反,您可能希望执行以下操作: var o:Object = {title: 'asad'}; var v:I

我的ImageItemVO有一个名为title的公共变量。 此代码运行后,“var v”为空。为什么?
有人能给我一个如何使它工作的例子吗?

as操作符用于将对象从一种类型强制转换为另一种类型,但仅当对象可以这样强制转换时才起作用。如果不能,它将为您提供
null
。如果无法铸造对象,则另一种铸造方法(即您在最后一行中的铸造方法)会给您一个错误

在这种情况下,你根本不想铸造,铸造不工作的方式。相反,您可能希望执行以下操作:

var o:Object = {title: 'asad'};
var v:ImageItemVO = o as ImageItemVO;
var v:ImageItemVO = ImageItemVO(o); // throws an error
或者,如果有更多属性,并且您不想手动键入所有属性:

var v: ImageItemVO = new ImageItemVO();
v.title = "asad";

此代码将
o
中的所有属性复制到
v

使用
as
操作符将对象从一种类型强制转换为另一种类型,但仅当对象可以以这种方式强制转换时才起作用。如果不能,它将为您提供
null
。如果无法铸造对象,则另一种铸造方法(即您在最后一行中的铸造方法)会给您一个错误

在这种情况下,你根本不想铸造,铸造不工作的方式。相反,您可能希望执行以下操作:

var o:Object = {title: 'asad'};
var v:ImageItemVO = o as ImageItemVO;
var v:ImageItemVO = ImageItemVO(o); // throws an error
或者,如果有更多属性,并且您不想手动键入所有属性:

var v: ImageItemVO = new ImageItemVO();
v.title = "asad";

此代码将
o
中的所有属性复制到
v

so。。使用o中包含的数据生成ImageItemVO实例是不可能的,因为您是从对象中取消序列化它——最好是使方法:ImageItemVO::serialize(o:object)——在这里您可以执行循环this[key]=o[key];所以使用o中包含的数据生成ImageItemVO实例是不可能的,因为您是从对象中取消序列化它——最好是使方法:ImageItemVO::serialize(o:object)——在这里您可以执行循环this[key]=o[key];