返回列表

javascript 简单高效判断数据类型 系列函数 By shawl.qiu

默认分类 2011-04-27 00:11:12

转载:http://blog.csdn.net/btbtd/archive/2006/11/13/1380857.aspx

javascript 简单高效判断数据类型 系列函数 By shawl.qiu 说明: 前段时间把 ASP VBScript 掌握得差不多的时候, 就转而学习 Javascript/Jscript, 主要是学 Jscript 啦. 不过这两者基本上没什么区别, 唯一不同的是 Jscript 没有客户端的概念. 在刚开始时, 发现 VBS 的一些实用函数 Js 好多都没有, formatNumber 呀 isArray 呀 isDate 呀 等等. 还有日期对象也是很奇怪, 不能直接加加减减, 要set***... 不过对 Javascript/Jscript 掌握到一定程度的时候, 会发现他比 VBS 强上 N 倍, 强的地方就在于 他语法自由, VBS 没有的某某函数, 在 Js 中只要搞个 prototype 或建个判断函数就完全可以实现相同功能. 另一强得比较明显的地方是随处可用正则. 呀, 废话一堆, 接招吧. 目录: 1 判断是否为数组类型 2 判断是否为字符串类型 3 判断是否为数值类型 4 判断是否为日期类型 5 判断是否为函数 6 判断是否为对象 shawl.qiu 2006-11-13 http://blog.csdn.net/btbtd

javascript 简单高效判断数据类型 系列函数 By shawl.qiu


说明: 
前段时间把 ASP VBScript 掌握得差不多的时候, 就转而学习 Javascript/Jscript, 主要是学 Jscript 啦. 
不过这两者基本上没什么区别, 唯一不同的是 Jscript 没有客户端的概念. 

在刚开始时, 发现 VBS 的一些实用函数 Js 好多都没有, formatNumber 呀 isArray 呀 isDate 呀 等等. 
还有日期对象也是很奇怪, 不能直接加加减减, 要set***...

不过对 Javascript/Jscript 掌握到一定程度的时候, 会发现他比 VBS 强上 N 倍, 强的地方就在于 他语法自由, VBS 没有的某某函数, 在 Js 中只要搞个 prototype 或建个判断函数就完全可以实现相同功能. 另一强得比较明显的地方是随处可用正则. 

呀, 废话一堆, 接招吧. 

目录:
1 判断是否为数组类型
2 判断是否为字符串类型
3 判断是否为数值类型
4 判断是否为日期类型
5 判断是否为函数
6 判断是否为对象

shawl.qiu
2006-11-13
 http://blog.csdn.net/btbtd

1 判断是否为数组类型
    linenum
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.     var a=[0];
  4.         document.write(isArray(a),'<br/>');
  5.     function isArray(obj){
  6.         return (typeof obj=='object')&&obj.constructor==Array;
  7.     }
  8. //]]>
  9. </script>


2 判断是否为字符串类型
    linenum
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.     document.write(isString('test'),'<br/>');
  4.     document.write(isString(10),'<br/>');
  5.     function isString(str){
  6.         return (typeof str=='string')&&str.constructor==String;
  7.     }
  8. //]]>
  9. </script>


3 判断是否为数值类型
    linenum
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.     document.write(isNumber('test'),'<br/>');
  4.     document.write(isNumber(10),'<br/>');
  5.     function isNumber(obj){
  6.         return (typeof obj=='number')&&obj.constructor==Number;
  7.     }
  8. //]]>
  9. </script>


4 判断是否为日期类型
    linenum
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.     document.write(isDate(new Date()),'<br/>');
  4.     document.write(isDate(10),'<br/>');
  5.     function isDate(obj){
  6.         return (typeof obj=='object')&&obj.constructor==Date;
  7.     }
  8. //]]>
  9. </script>


5 判断是否为函数
    linenum
  1. <script type="text/javascript">
  2. //<![CDATA[
  3.     document.write(isFunction(function test(){}),'<br/>');
  4.     document.write(isFunction(10),'<br/>');
  5.     function isFunction(obj){
  6.         return (typeof obj=='function')&&obj.constructor==Function;
  7.     }
  8. //]]>
  9. </script>


6 判断是否为对象
<script type="text/javascript">
    linenum
  1. //<![CDATA[
  2.     document.write(isObject(new Object()),'<br/>');
  3.     document.write(isObject(10),'<br/>');
  4.     function isObject(obj){
  5.         return (typeof obj=='object')&&obj.constructor==Object;
  6.     }
  7. //]]>
  8. </script>