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 相关文章推荐
&amp;lt;script defer&amp;gt; defer 是什么意思
May 10 Javascript
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
Jquery 实现table样式的设定
Jan 28 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
在vue.js中抽出公共代码的方法示例
Jun 08 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
详解Vue 多级组件透传新方法provide/inject
May 09 Javascript
如何让微信小程序页面之间的通信不再变困难
Jun 03 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
Jun 17 Javascript
详解使用WebPack搭建React开发环境
Aug 06 Javascript
vue中注册自定义的全局js方法
Nov 15 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+mysql)
2007/11/23 PHP
php include加载文件两种方式效率比较
2010/08/08 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
js实现方块上下左右移动效果
2017/08/17 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
数据库面试要点基本概念
2013/10/31 面试题
什么是GWT的Entry Point
2013/08/16 面试题
会计实习期自我鉴定
2013/10/06 职场文书
劳资员岗位职责
2013/11/11 职场文书
植物生产学专业求职信
2014/08/08 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
javascript函数式编程基础
2021/09/15 Javascript