最近对javascript数据类型的验证又有了一个新的认识,原来可以判断得这么简单又如此全面。
我们自定义了isString,isNumber ,isDate ,isError ,isRegExp ,isBoolean ,isNull ,isUndefined ,isObject等方法。现在将自己定义的javascript数据类型验证函数及测试集展示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> <script type="text/javascript"> //isString //isNumber //isDate //isError //isRegExp //直接利用和数据类型来判断 [].forEach.call(['String','Number','Date','Error','RegExp'],function(name){ this['is'+name]=function(obj){ return toString.call(obj)==='[object '+name+']'; }; }); //isBoolean //true和false需要考虑在内 Object.prototype.isBoolean=function(obj){ return obj===true||obj===false||toString.call(obj)==='[object Boolean]'; }; //isNull //未找到所指向对象 Object.prototype.isNull=function(obj){ return obj===null; }; //isUndefined //定义了但是未赋值 Object.prototype.isUndefined=function(obj){ return obj===void 0; }; //isObject //函数和数组都是对象 Object.prototype.isObject=function(obj){ var type = typeof obj; return type === 'function' || type === 'object' && !!obj; }; //test //isString var str="iamstring"; var a=isString(str); console.log(a);//true //isNumber var b=isNumber(a); console.log(b);//false //isNumber var num=4; var c=isNumber(num); console.log(c);//true //isRegExp var reg=/^[1-9]/; var d=isRegExp(reg); console.log(d);//true //isDate var date=new Date(); var e=isDate(date); console.log(e);//true //isBoolean var bool=false; var f=isBoolean(bool); console.log(f);//true //isNull var nul=document.getElementById("div02"); var g=isNull(nul); console.log(g);//true //isUndefined var undef; var h=isUndefined(undef); console.log(h);//true //isObject var obj={"1":"1","2":"2"}; var i=isObject(obj); console.log(i);//true </script> </html>
以下主要是对判断javascript的数据类型进行了详细的介绍,分为六种数据类型,需要的朋友可以过来参考下,希望对大家有所帮助
1、判断是否为数组类型
代码如下:
<STRONG><script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='object')&&obj.constructor==Array; } //]]> </script></STRONG>
2 判断是否为字符串类型
代码如下:
<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 判断是否为数值类型
代码如下:
<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 判断是否为日期类型
代码如下:
<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 判断是否为函数
代码如下:
<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程序设计有所帮助。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年09月25日
2024年09月25日
- 纯音入心系列纯音乐《天籁古筝》1CD[MP3][331MB]
- 男女对唱典藏天碟《发烧对唱·那个季节里的歌DSD》10CD[WAV]
- 群星2010-歌林精选辑[歌林][WAV+CUE]
- TrioZimbalist-PianoTriosofWeinberg,Auerbach,Dvorak(2024)[24-44,1]wav
- 群星.1992-滚石第一流台湾歌·12王牌大车拼【滚石】【WAV+CUE】
- 林子祥.1984-创作歌集【华纳】【WAV+CUE】
- 周汤豪.2010-周汤豪【华纳】【FLAC分轨】
- Mozart-TheStringQuintets-AmadeusQuartet,CecilAronowitz(2017)[24-44,1][WAV+CUE]
- JamesWilliamsDennisIrwin-Focus(2024,Red)[24-48]FLAC
- 藤泽麻衣《空みあげて》[WAV]
- 纯音入心系列纯音乐《中国古筝经典名曲》1CD[MP3][1.3GB]
- 纯音入心系列纯音乐《古筝新奏:岁月静好与筝语,细水流年与筝同》1CD[MP3][846.9MB]
- 670《脆弱敏感小女生》[320K/MP3][27.53MB]
- 曾琳.2011-好好爱我【南方】【WAV+CUE】
- 范晓萱.1995-RAIN【福茂】【WAV+CUE】