javascript判断数据类型的各种方法
一、Object.prototype.toString方法(摘自http://javascript.ruanyifeng.com/stdlib/object.html#toc3)
- //不同数据类型的Object.prototype.toString方法返回值如下。
- /*数值:返回[object Number]。
- 字符串:返回[object String]。
- 布尔值:返回[object Boolean]。
- undefined:返回[object Undefined]。
- null:返回[object Null]。
- 数组:返回[object Array]。
- arguments对象:返回[object Arguments]。
- 函数:返回[object Function]。
- Error对象:返回[object Error]。
- Date对象:返回[object Date]。
- RegExp对象:返回[object RegExp]。
- 其他对象:返回[object " + 构造函数的名称 + "]。*/
- Object.prototype.toString.call(2) // "[object Number]"
- Object.prototype.toString.call('') // "[object String]"
- Object.prototype.toString.call(true) // "[object Boolean]"
- Object.prototype.toString.call(undefined) // "[object Undefined]"
- Object.prototype.toString.call(null) // "[object Null]"
- Object.prototype.toString.call(Math) // "[object Math]"
- Object.prototype.toString.call({}) // "[object Object]"
- Object.prototype.toString.call([]) // "[object Array]"
- //利用这个特性,可以写出一个比typeof运算符更准确的类型判断函数。
- var type = function (o){
- var s = Object.prototype.toString.call(o);
- return s.match(/\[object (.*?)\]/)[1].toLowerCase();
- };
- type({}); // "object"
- type([]); // "array"
- type(5); // "number"
- type(null); // "null"
- type(); // "undefined"
- type(/abcd/); // "regex"
- type(new Date()); // "date"
- //在上面这个type函数的基础上,还可以加上专门判断某种类型数据的方法。
- ['Null',
- 'Undefined',
- 'Object',
- 'Array',
- 'String',
- 'Number',
- 'Boolean',
- 'Function',
- 'RegExp',
- 'NaN',
- 'Infinite'
- ].forEach(function (t) {
- type['is' + t] = function (o) {
- return type(o) === t.toLowerCase();
- };
- });
- type.isObject({}) // true
- type.isNumber(NaN) // true
- type.isRegExp(/abc/) // true
javascript判断数据类型的各种方法的更多相关文章
- javascript 判断数据类型的几种方法
javascript 判断数据类型的几种方法一.typeof 直接返回数据类型字段,但是无法判断数组.null.对象 typeof 1 "number" typeof NaN &q ...
- JavaScript判断数据类型总结
最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断网页特效,在此做一个总结吧! 一.JS中的数据类型 1.数值型(Number):包 ...
- Javascript判断数据类型的五种方式及其特殊性
Javascript判断数据类型的五种方式及区别 @ 目录 typeof instanceof Object.prototype.toString isArray iisNaN ----------- ...
- JavaScript判断数据类型
JavaScript中判断数据类型的方式有三种: 1.typeof typeof 1; //"number" typeof "abc"; //" ...
- Javascript判断数据类型与真假值隐形转换研究
一.引言 我们在开发的时候经常要判断真和假,这是我们经常写的代码: if(a){ alert(1) } 那我们怎么判定a是真还是假呢?下面这些值的真假又是多少呢?它们的数据类型又是怎样的呢? &quo ...
- JavaScript判断数据类型的方法
typeof操作符 typeof 操作符作用:是用来检测变量的数据类型.对于值或变量使用 typeof 操作符会返回如下字符串. 数据类型undefined的判断示例 变量定义了但未初始化,就是und ...
- JavaScript判断数据类型的4中方法
一: typeof typeof 是一种运算符,它的值有如下几种(number.boolean.string.undefined.null.function.object.symbol) consol ...
- JavaScript学习总结(六)——JavaScript判断数据类型总结
最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型 1.数值型(Number):包括整数.浮 ...
- javascript 判断数据类型
Object.prototype.toString.call(asddfff) //报错asddfff没被定义Object.prototype.toString.call(undefined) //& ...
随机推荐
- android onCreate中获取view宽高为0的解决方法
view.post(runnable) 通过post可以将一个runnable投递到消息队列的尾部,然后等待UI线程Looper调用此runnable的时候,view也已经初始化好了. view.po ...
- UML入门
本文主要讲解uml的一些入门知识. uml:统一建模语言,uml通过图形化的表达对系统进行细致的划分,在开发前期有助于开发人员与开发人员之间交流,同时也能方便用户与开发者之间进行良好的反馈.利用uml ...
- linux下编译gcc6.2.0
linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...
- Ajax加载菊花loding效果
Ajax 异步请求的时候,一般都会利用一个动态的 gif小图片来制作一个Ajax Loading ,以便增加用户体验. 这里我们使用Spin.js ,该 js 脚本压缩后5k,可以不用任何图片,任何外 ...
- Merge K Sorted Arrays
This problem can be solved by using a heap. The time is O(nlog(n)). Given m arrays, the minimum elem ...
- Percona XtraBackup 备份原理说明【转】
本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MyS ...
- 魔镜VIP批量条形码视频教程
需要购买者请登我的淘宝店,https://cdrapp.taobao.com/ 优惠价哦!
- Xcode7下模拟器输入文本无法显示系统键盘的解决办法
xcode7下的ios模拟器输入内容无法系统键盘,只能用电脑键盘输入内容,这样可能会对调试带来麻烦. 其实xcode7下的ios模拟器默认只能使用一种,要么是模拟器系统键盘,要么就是是电脑键盘.设置方 ...
- struts2笔记(2)
<context-param> <param-name>pattern</param-name> <param-value>yyyy-MM-dd hh: ...
- File文件的使用
线程的停止: 1.停止一个线程一般是通过一个变量来控制 2.如果需要停止一个处于一个等待状态的线程,那么需要配合interrupture方法来完成 守护线程:(后台线程):在一个进程中只剩下守护线程, ...