JavaScript基于自定义函数判断变量类型的实现方法
程序员文章站
2022-04-10 11:24:51
...
本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法。分享给大家供大家参考,具体如下:
通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的。
我写了一个自定义函数来做这个事,判断的比较全面了。
function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructor .toString()).match(/(?: )[/w/$]+/)[ 0 ]; if ( typeof typeof2=== 'undefined' && window .execScript){ window .execScript( 'Function vbsTypeName(o):vbsTypeName=TypeName(o):End Function' , 'vbscript' ); window .execScript( 'function typeof2(o){return vbsTypeName(o)}' , 'jscript' ); } if ( typeof typeof2!== 'undefined' ){ return typeof2(v); } return "object" ; } return typeof v; } //对于普通js常量和js对象,各浏览器是基本一致的 alert (varType()); //undefined alert (varType( 100 )); //number alert (varType({})); //Object alert (varType([])); //Array alert (varType(/ /)); //RegExp alert (varType( new Date ())); //Date alert (varType( Date )); //function alert (varType( Object )); //function alert (varType( RegExp )); //function //对于DOM对象,各浏览器可能会有不同值 alert (varType( window )); //IE:HTMLWindow2 FF:Window alert (varType( document )); //IE:HTMLDocument FF:HTMLDocument alert (varType( document .body)); //IE:HTMLBody FF:HTMLBodyElement alert (varType( Option )); //IE:Object FF:function alert (varType( Image )); //IE:Object FF:function alert (varType( navigator )); //IE:DispHTMLNavigator FF:Navigator //以下几个只适用于IE,其他内核浏览器不支持 alert (varType( ActiveXObject )); //IE:function alert (varType( Enumerator )); //IE:function alert (varType( new ActiveXObject ( "Scripting.Dictionary" ))); //IE:Dictionary alert (varType( new Enumerator ())); //IE:Enumerator
上一篇: JQuery全选反选第二次失效解决办法
下一篇: 有关crypt()函数的文章推荐10篇
推荐阅读
-
JavaScript各变量类型的判断方法
-
isArray()函数(JavaScript中对象类型判断的几种方法)_javascript技巧
-
PHP基于自定义函数实现格式化秒的方法
-
关于JavaScript的变量的数据类型的判断方法_基础知识
-
javascript中对变量类型的判断方法_javascript技巧
-
javascript中对变量类型的判断方法_javascript技巧
-
判断JavaScript变量数据类型的方法
-
JavaScript各变量类型的判断方法
-
判断数组是否包含某个元素的js函数实现方法_javascript技巧
-
JavaScript判断变量是否为空的自定义函数分享_javascript技巧