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

  <script type="text/javascript">

  //<![CDATA[

  var a=[0];

  document.write(isArray(a),'<br/>');

  function isArray(obj){

  return (typeof obj=='object')&&obj.constructor==Array;

  }

  //]]>

  </script>

  2 判断是否为字符串类型

  linenum

  <script type="text/javascript">

  //<![CDATA[

  document.write(isString('test'),'<br/>');

  document.write(isString(10),'<br/>');

  function isString(str){

  return (typeof str=='string')&&str.constructor==String;

  }

  //]]>

  </script>

  3 判断是否为数值类型

  linenum

  <script type="text/javascript">

  //<![CDATA[

  document.write(isNumber('test'),'<br/>');

  document.write(isNumber(10),'<br/>');

  function isNumber(obj){

  return (typeof obj=='number')&&obj.constructor==Number;

  }

  //]]>

  </script>

  4 判断是否为日期类型

  linenum

  <script type="text/javascript">

  //<![CDATA[

  document.write(isDate(new Date()),'<br/>');

  document.write(isDate(10),'<br/>');

  function isDate(obj){

  return (typeof obj=='object')&&obj.constructor==Date;

  }

  //]]>

  </script>

  5 判断是否为函数

  linenum

  <script type="text/javascript">

  //<![CDATA[

  document.write(isFunction(function test(){}),'<br/>');

  document.write(isFunction(10),'<br/>');

  function isFunction(obj){

  return (typeof obj=='function')&&obj.constructor==Function;

  }

  //]]>

  </script>

  6 判断是否为对象

  <script type="text/javascript">

  linenum

  //<![CDATA[

  document.write(isObject(new Object()),'<br/>');

  document.write(isObject(10),'<br/>');

  function isObject(obj){

  return (typeof obj=='object')&&obj.constructor==Object;

  }

  //]]>

  </script>