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 相关文章推荐
JS自动倒计时30秒后按钮才可用(两种场景)
Aug 31 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
May 10 Javascript
微信小程序实现锚点定位楼层跳跃的实例
May 18 Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
layui 弹出删除确认界面的实例
Sep 06 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
微信小程序实现页面监听自定义组件的触发事件
Nov 01 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
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/05/16 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
Vue computed 计算属性代码实例
2020/04/22 Javascript
Python中的异常处理学习笔记
2015/01/28 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
集体婚礼证婚词
2014/01/13 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
护士岗位竞聘书
2015/09/15 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
正确使用MySQL update语句
2021/05/26 MySQL
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js