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 实现的自定义对话框
Mar 24 Javascript
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 Javascript
基于JavaScript实现仿京东图片轮播效果
Nov 06 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
node.js从数据库获取数据
May 08 Javascript
BootStrap文件上传样式超好看【持续更新】
May 10 Javascript
一个极为简单的requirejs实现方法
Oct 20 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
基于JavaScript实现简单扫雷游戏
Jan 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
jQuery使用动画队列自定义动画操作示例
2018/06/16 jQuery
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Python绘制组合图的示例
2020/09/18 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
2014各大专业毕业生自我评价
2014/09/17 职场文书
争先创优个人总结
2015/03/04 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python