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 相关文章推荐
JavaScript 学习笔记(十六) js事件
Feb 01 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
Jun 09 Javascript
kmock javascript 单元测试代码
Feb 06 Javascript
详解JavaScript函数绑定
Aug 18 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
删除节点的jquery代码
Jan 13 Javascript
JS实现很酷的水波文字特效实例
Feb 26 Javascript
AngularJS基础学习笔记之指令
May 10 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
JS数组去重的6种方法完整实例
Dec 08 Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 Javascript
JavaScript简易计算器制作
Jan 17 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
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
php中socket通信机制实例详解
2015/01/03 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHP echo()函数讲解
2019/02/15 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
潜说js对象和数组
2011/05/25 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
详解Python中dict与set的使用
2015/08/10 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
护理实习生带教计划
2015/01/16 职场文书
检讨书范文1000字
2015/01/28 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技