2010六月2
关于类型强转换
这是一个非常基础的问题. 在平时工作中就算是再小的项目里面也会涉及到类型转换. 方法大致也就是类似
ClassName( instance ); instance as ClassName;
就类型转换而言没什么区别,在我看来也就是报错或是返回null的区别而已.
有的时候用得习惯了,动不动就会吧Int(),Object()这样的玩意拿来转. 别的还好, Array的时候请一定要注意. 这些个东西其实是全局函数,文档上写得很清楚的.
就如同事发我的代码
var a:Object;
a = [1,2];
Array(a).length;
(a as Array).length;
结果显然是输出1,2. 原因就是Array(a); 这个不是说类型转换, 是新建了一个Array. 所以
Array(a)[0].length 这个时候就是2.
各中道理文档上很详细的说. 别出现这种bug, 会让人很郁闷的.
本文地址:http://blog.riamm.com/?p=423 , 转载请保留.
