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


Posted in Javascript onMarch 06, 2007

说明: 
前段时间把 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>

Javascript 相关文章推荐
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
高效的获取当前元素是父元素的第几个子元素
Oct 15 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
js控制input输入字符解析
Dec 27 Javascript
JS解析XML实例分析
Jan 30 Javascript
angularJS中router的使用指南
Feb 09 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
详解vue.js的事件处理器v-on:click
Jun 27 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
vue 实现特定条件下绑定事件
Nov 09 Javascript
javascript实现划词标记+划词搜索功能
Mar 06 #Javascript
用一段js程序来实现动画功能
Mar 06 #Javascript
用javascript动态调整iframe高度的方法
Mar 06 #Javascript
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 #Javascript
限制文本字节数js代码
Mar 06 #Javascript
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 #Javascript
HTML-CSS群中单选引发的“事件”
Mar 05 #Javascript
You might like
简单的页面缓冲技术
2006/10/09 PHP
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
JavaScript的document对象和window对象详解
2010/12/30 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
Python的装饰器用法学习笔记
2016/06/24 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
python如何制作英文字典
2019/06/25 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
python实现控制台输出彩色字体
2020/04/05 Python
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
日语专业毕业生求职信
2013/12/04 职场文书
如何写股份合作协议书
2014/09/11 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
教师批评与自我批评
2014/10/15 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android
nginx实现动静分离的方法示例
2021/11/07 Servers