先做个题目吧:
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 运算符也应当注意,避免以上情 况,尽量使用显式类型转换。
其实这个问题非常非常基础,对于这种细节性的问题以后还得多注意注意。
正文完
发表至: 网站运营
2015-02-08