JavaScript基于自定义函数判断变量类型的实现方法

 更新时间:2016年11月23日 10:47:29   作者:cuixiping  
这篇文章主要介绍了JavaScript基于自定义函数判断变量类型的实现方法,结合实例形式分析了javascript判断变量类型的自定义函数定义与使用方法,并针对不同浏览器给出了相关的分析与说明,需要的朋友可以参考下

本文实例讲述了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

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript遍历算法与技巧总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 实用的js 焦点图切换效果 结构行为相分离

    实用的js 焦点图切换效果 结构行为相分离

    行为层是由js来实现的,这里的工作只是搭建了一个简单的骨架,如果要让效果图美观些并符合设计要求,就要发挥css的强大作用了。
    2010-06-06
  • JS打印彩色菱形的实例代码

    JS打印彩色菱形的实例代码

    本文通过一段简单的实例代码给大家介绍js实现打印彩色菱形的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • JS旋转实现转盘抽奖效果

    JS旋转实现转盘抽奖效果

    这篇文章主要为大家详细介绍了JS旋转实现转盘抽奖效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • JavaScript的面向对象(二)

    JavaScript的面向对象(二)

    JavaScript的面向对象(二)...
    2006-11-11
  • js关于命名空间的函数实例

    js关于命名空间的函数实例

    这篇文章主要介绍了js关于命名空间的函数,实例讲述了namespace函数的使用技巧,需要的朋友可以参考下
    2015-02-02
  • JS中判断JSON数据是否存在某字段的方法

    JS中判断JSON数据是否存在某字段的方法

    这篇文章主要介绍了JS中如何判断JSON数据是否存在某字段,需要的朋友可以参考下
    2014-03-03
  • JavaScript Canvas绘制六边形网格

    JavaScript Canvas绘制六边形网格

    这篇文章主要为大家详细介绍了JavaScript Canvas绘制六边形网格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 15个高级前端开发小技巧总结分享

    15个高级前端开发小技巧总结分享

    这篇文章主要介绍了15种不依赖JavaScript的高级Web开发技术,涵盖了从响应式排版到图像延迟加载的各个方面,展示了现代HTML和CSS的强大功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • 你可能不知道的CORS跨域资源共享

    你可能不知道的CORS跨域资源共享

    这篇文章主要给大家介绍了关于CORS跨域资源共享的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用CORS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • js弹窗返回值详解(window.open方式)

    js弹窗返回值详解(window.open方式)

    本篇文章主要介绍了js弹窗返回值(window.open方式)。需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01

最新评论