Object.prototype.toString.call(value)
2024-08-25 21:18:13
使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下:
Object.prototype.toString.call(value)
1.判断基本类型:
Object.prototype.toString.call(null);//”[object Null]”
Object.prototype.toString.call(undefined);//”[object Undefined]”
Object.prototype.toString.call(“abc”);//”[object String]”
Object.prototype.toString.call(123);//”[object Number]”
Object.prototype.toString.call(true);//”[object Boolean]”
2.判断原生引用类型:
函数类型
Function fn(){console.log(“test”);}
Object.prototype.toString.call(fn);//”[object Function]”
日期类型
var date = new Date();
Object.prototype.toString.call(date);//”[object Date]”
数组类型
var arr = [1,2,3];
Object.prototype.toString.call(arr);//”[object Array]”
正则表达式
var reg = /[hbc]at/gi;
Object.prototype.toString.call(arr);//”[object Array]”
自定义类型
function Person(name, age) {
this.name = name;
this.age = age;
}
var person = new Person("Rose", 18);
Object.prototype.toString.call(arr); //”[object Object]”
很明显这种方法不能准确判断person是Person类的实例,而只能用instanceof 操作符来进行判断,如下所示:
console.log(person instanceof Person);//输出结果为true
3.判断原生JSON对象:
var isNativeJSON = window.JSON && Object.prototype.toString.call(JSON);
console.log(isNativeJSON);//输出结果为”[object JSON]”说明JSON是原生的,否则不是;
注意:Object.prototype.toString()本身是允许被修改的,而我们目前所讨论的关于Object.prototype.toString()这个方法的应用都是假设toString()方法未被修改为前提的。
最新文章
- [python]初试页面抓取——抓取沪深股市交易龙虎榜数据
- Android开发学习之路-下拉刷新以及GridView的使用
- IE下只读INPUT键入BACKSPACE 后退问题(readonly='true')
- javascript练习----复选框全选,全不选,反选
- HTTP权威指南----缓存
- Collections.sort(List<;T>; Comparator) 自定义排序
- Android selector item 属性大全(按钮按下不同效果)
- python 3 操作 excel
- android 登录界面
- linux下安装配置svn独立服务器
- magento中的各种form标签
- dij算法为什么不能处理负权,以及dij算法变种
- C#/VB.NET设置Excel表格背景色
- 【转】vim 的各种用法,很实用哦,都是本人是在工作中学习和总结的
- mac下php开发环境的搭建
- 14Junit、反射、注解
- android studio的汉化 教程 及解析
- WorldWind源码剖析系列:窗口定制控件类WorldWindow
- 浅谈TCP/IP(new 常见面试问题)
- debian下配置双核cpu