先做个题目吧:
var testNum:Number=662.382;
var testObj:Object=Object(testNum);
trace(testNum,testNum as int,int(testNum),testObj,testObj as int,int(testObj),testObj as Number);
这个的结果刚开始我以为会是
662.382 662 662 662.382 662 662 662.382
不过结果却是
662.382 null 662 662.382 null 662 662.382
在刚刚coding的时候使用PureMVC发送notification之前没有将value转为int就直接发送了,然后接收后将object 使用as运算符转换为int发现结果为0。当时相当郁闷了。因此不使用强类型检查时应当特别注意数据类型,另外,使用as运算符也应当注意,避免以上情 况,尽量使用显式类型转换。
其实这个问题非常非常基础,对于这种细节性的问题以后还得多注意注意。
发表回复