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 文件夹选择框的两种解决方案
Jul 01 Javascript
jQueryUI如何自定义组件实现代码
Nov 14 Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 Javascript
bootstrap中模态框、模态框的属性实例详解
Feb 17 Javascript
深入理解vue.js中的v-if和v-show
Jun 22 Javascript
关于vue的语法规则检测报错问题的解决
May 21 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 Javascript
JavaScript实现图片放大预览效果
Nov 02 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:风雨欲来 路在何方?
2006/10/09 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
windows支持哪个版本的python
2020/07/03 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
总经理职责
2013/12/22 职场文书
机械专业技术员求职信
2014/06/14 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
合伙经营协议书范本
2014/09/13 职场文书
单位工作证明范文
2014/09/14 职场文书
民事赔偿协议书
2014/11/02 职场文书