这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0524/330255.html