浏览 2226 次
锁定老帖子 主题:一个对Array类型强制转换的小陷阱
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-23
第一种: //括号形式 User(u).name = "zhangshan"; 第二种: //as表达式 (u as User).name = "zhangshan"; 对于一般的对象,这两种方法是等效的,转换失改时,第一种会抛异常,第二种会转换为空对象。 但是对于数组Array,这两种是不一样的,as表达式的方法还是一样,不说了,使用括号就是不行,说一下。 //括号形式 var a:Object = new Array(); Array(a).push("zhangshan"); //这里会打出0来 trace(a.length); 其实开发工具也有个警告,对数组使用强制转换等于新建了一个数组,所以对于数组只能用as表达式来进行转换。ArrayCollection没有类似问题。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-05
LZ 非常仔细。
通常涉及到类型转换时我用 as,基本都不会出错。 |
|
返回顶楼 | |