·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3判断某个对象是否为数组

时间:2014-10-08 08:39酷播
[AS3]as3判断某个对象是否为数组

由于AS3中的数组有两种类型可以表示:Array、Vector.<Type>,在AS3,如果你要判断某个对象是否为数组,可以使用以下方法

  1.         /** 
  2.          * @author Jave.Lin 
  3.          * @date 2013-10-23 
  4.          */      
  5.         private function checkItemArrType(value:Object):void 
  6.         { 
  7. //          // 方法一:利用属性,与方法来过滤类型,但不能100%过滤错误 
  8. //          if(!value) throw new Error("value == null"); 
  9. //          // 检查属性 
  10. //          if(value.hasOwnProperty("length")) throw new Error("value is not Array or Vector"); 
  11. //          try 
  12. //          { 
  13. //              // 检查方法 
  14. //              value["indexOf"]; 
  15. //              value["push"]; 
  16. //              value["splice"]; 
  17. //          } 
  18. //          catch(er:ReferenceError) 
  19. //          { 
  20. //              throw new Error("value is not Array or Vector"); 
  21. //          } 
  22.             // 方法二:利用反射类型来判断,对错误的过滤比较好 
  23.             // 先过滤Array 
  24.             if(value is Array) return; 
  25.             // 再过滤Vector 
  26.             var xml:XML = describeType(value); 
  27.             var type:String = ("" + xml.@name) 
  28.             if(!(type.length > 18 && type.slice(0, 19) == "__AS3__.vec::Vector")) 
  29.                 throw new Error("value is not Array or Vector"); 
  30.         } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器