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 相关文章推荐
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
element-ui 中的table的列隐藏问题解决
Aug 24 Javascript
vue中接口域名配置为全局变量的实现方法
Sep 20 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 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
WordPress中的shortcode短代码功能使用详解
2016/05/17 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
php微信开发之关注事件
2018/06/14 PHP
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
vue+axios实现post文件下载
2019/09/25 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python多线程http下载实现示例
2013/12/30 Python
介绍Python中的__future__模块
2015/04/27 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
python psutil监控进程实例
2019/12/17 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
计算机求职信
2013/12/01 职场文书
光盘行动倡议书
2014/02/02 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
个人催款函范文
2015/06/23 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python