Javascript获取对象type的方法

function $type(obj){
   
if (!$defined(obj)) return false;
   
if (obj.htmlElement) return 'element';
   
var type = typeof obj;
   
if (type == 'object' && obj.nodeName){
       
switch(obj.nodeType){
           
case 1: return 'element';
           
case 3: return (/\S/).test(obj.nodeValue) ? 'textnode' : 'whitespace';
       
}
   
}
   
if (type == 'object' || type == 'function'){
       
switch(obj.constructor){
           
case Array: return 'array';
           
case RegExp: return 'regexp';
           
case Class: return 'class';
       
}
       
if (typeof obj.length == 'number'){
           
if (obj.item) return 'collection';
           
if (obj.callee) return 'arguments';
       
}
   
}
   
return type;
};
posted @ 2008-04-29 15:01  new 维生素C.net()  阅读(769)  评论(0编辑  收藏  举报