[AS3]as3判断某个对象是否为数组
[AS3]as3判断某个对象是否为数组
由于AS3中的数组有两种类型可以表示:Array、Vector.<Type>,在AS3,如果你要判断某个对象是否为数组,可以使用以下方法
- /**
- * @author Jave.Lin
- * @date 2013-10-23
- */
- private function checkItemArrType(value:Object):void
- {
- // // 方法一:利用属性,与方法来过滤类型,但不能100%过滤错误
- // if(!value) throw new Error("value == null");
- // // 检查属性
- // if(value.hasOwnProperty("length")) throw new Error("value is not Array or Vector");
- // try
- // {
- // // 检查方法
- // value["indexOf"];
- // value["push"];
- // value["splice"];
- // }
- // catch(er:ReferenceError)
- // {
- // throw new Error("value is not Array or Vector");
- // }
- // 方法二:利用反射类型来判断,对错误的过滤比较好
- // 先过滤Array
- if(value is Array) return;
- // 再过滤Vector
- var xml:XML = describeType(value);
- var type:String = ("" + xml.@name)
- if(!(type.length > 18 && type.slice(0, 19) == "__AS3__.vec::Vector"))
- throw new Error("value is not Array or Vector");
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...