JavaScript基于自定义函数判断变量类型的实现方法
本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法。分享给大家供大家参考,具体如下:
通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的。
我写了一个自定义函数来做这个事,判断的比较全面了。
functionvarType(v){
if(typeofv==="object"){
if(v===null)return'null';
if(v.constructor)
return(v.constructor.toString()).match(/(?:)[/w/$]+/)[0];
if(typeoftypeof2==='undefined'&&window.execScript){
window.execScript('FunctionvbsTypeName(o):vbsTypeName=TypeName(o):EndFunction','vbscript');
window.execScript('functiontypeof2(o){returnvbsTypeName(o)}','jscript');
}
if(typeoftypeof2!=='undefined'){
returntypeof2(v);
}
return"object";
}
returntypeofv;
}
//对于普通js常量和js对象,各浏览器是基本一致的
alert(varType());//undefined
alert(varType(100));//number
alert(varType({}));//Object
alert(varType([]));//Array
alert(varType(//));//RegExp
alert(varType(newDate()));//Date
alert(varType(Date));//function
alert(varType(Object));//function
alert(varType(RegExp));//function
//对于DOM对象,各浏览器可能会有不同值
alert(varType(window));//IE:HTMLWindow2FF:Window
alert(varType(document));//IE:HTMLDocumentFF:HTMLDocument
alert(varType(document.body));//IE:HTMLBodyFF:HTMLBodyElement
alert(varType(Option));//IE:ObjectFF:function
alert(varType(Image));//IE:ObjectFF:function
alert(varType(navigator));//IE:DispHTMLNavigatorFF:Navigator
//以下几个只适用于IE,其他内核浏览器不支持
alert(varType(ActiveXObject));//IE:function
alert(varType(Enumerator));//IE:function
alert(varType(newActiveXObject("Scripting.Dictionary")));//IE:Dictionary
alert(varType(newEnumerator()));//IE:Enumerator
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript遍历算法与技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短