Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 为什么在ActionScript中将日期转换为日期失败?_Apache Flex_Date_Actionscript_Types_Casting - Fatal编程技术网

Apache flex 为什么在ActionScript中将日期转换为日期失败?

Apache flex 为什么在ActionScript中将日期转换为日期失败?,apache-flex,date,actionscript,types,casting,Apache Flex,Date,Actionscript,Types,Casting,在ActionScript中,我发现,将日期强制转换为日期并将其分配给日期类型变量会引发类型错误: var date : Date = Date(new Date(2012, 01, 01)); Error #1034: Type Coercion failed: cannot convert "Wed Aug 22 17:06:54 GMT+1000 2012" to Date. 这显然是错误的,但我想知道为什么会这样。我的理论是,日期强制转换,就像数字强制转换一样,已经被覆盖以尝试转换给

在ActionScript中,我发现,将日期强制转换为日期并将其分配给日期类型变量会引发类型错误:

var date : Date = Date(new Date(2012, 01, 01));

Error #1034: Type Coercion failed: cannot convert "Wed Aug 22 17:06:54 GMT+1000 2012" to Date.
这显然是错误的,但我想知道为什么会这样。我的理论是,日期强制转换,就像数字强制转换一样,已经被覆盖以尝试转换给定类型,而不是仅仅强制转换它

有趣的是,将任何其他内容强制转换为日期并将其指定为日期也会失败:

var date : Date = Date("1/2/3");
var date : Date = Date(123);

// (Both fail)
但将其分配给对象成功:

var object : Object = Date(new Date(2012, 01, 01));
var object : Object = Date("1/2/3");
var object : Object = Date(123);

// (All succeed)

AS3有时会非常混乱和不一致。 基本上,您没有在代码示例中强制转换任何内容

AS3有一些全局camelCased函数,它们将优先于强制转换操作符。 向量也具有类似的全局函数


当您在没有新操作符的情况下执行日期(bla)时,它显然会创建该日期的字符串表示形式。。。尝试改用as运算符进行强制转换。

如果编译器参数

<!-- Invalid Date cast operation. -->
<warn-bad-date-cast>true</warn-bad-date-cast>

真的

也存在于您的中。

请注意数组强制转换:
var a:Array=Array([1,2,3])
将创建一个新数组,其中Array
[1,2,3]
作为其第一个也是唯一的元素。强制转换只能这样做:
var a:Array=[1,2,3]as Array
Aah谢谢,这就解释了。有这些全局函数的文档吗?从这里开始,有一个DL'able zip,但它们隐藏了这个东西。查找“顶级”对象。它本质上是primative,但11.2或11.3播放器添加了primative JSON对象。