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> |