javascript 判断对象的内置类型
2024-09-01 06:18:24
判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.
在toString方法被调用时,会执行下面的操作步骤:
1. 获取this对象的[[Class]]属性的值.
2. 计算出三个字符串"[object ", 第一步的操作结果Result(1), 以及 "]"连接后的新字符串.
3. 返回第二步的操作结果Result(2).
Object.prototype.toString方法返回的字符串,去掉前面固定的"[object "和后面固定的"]",就是内部属性[[class]]的值,也就达到了判断对象类型的目的.
在ES3中,规范文档并没有总结出[[class]]内部属性一共有几种,不过我们可以自己统计一下,原生对象的[[class]]内部属性的值一共有10种.分别是:"Array", "Boolean", "Date", "Error", "Function", "Math", "Number", "Object", "RegExp", "String".
var data = {
jsondata: { "name": "Microsoft" },
arraydata: ["name", "Microsoft"],
stringdata: "name",
numberdata: 10,
booleandata: true,
undefineddata: undefined,
nulldata: null,
functiondata: function () { }
}; for (var i in data) {
isType(data[i]);
} function isType(arg) {
console.log(Object.prototype.toString.call(arg));
}
打印结果如下
参考资料:http://www.cnblogs.com/ziyunfei/archive/2012/11/05/2754156.html
最新文章
- VS2013打开项目Web加载失败
- tinkphp验证码的使用
- redis使用心得
- Kraken taxonomic sequence classification system
- 基于Ogre的DeferredShading(延迟渲染)的实现以及应用
- Android 依赖注入 ButterKnife 基本使用
- C语言结构体的强制类型转换
- C#- 控制台Timer
- Delphi调用java开发的WebService,传入参数出错
- struts2初印象
- 李洪强漫谈iOS开发[C语言-027]-自增与自减运算符
- (@WhiteTaken)设计模式学习——组合模式
- Less 的使用方法
- HNOI2002 营业额统计(Splay Tree)
- leetcode 单链表相关题目汇总
- js 判断 是否在当前页面 当前页面是否在前端
- Metadata GC Threshold导致的full gc分析
- webpack 学习总结demo
- Gitlab部署
- 流(Stream)与文件流(FileStream)
热门文章
- Linux的作业管理
- C++ std::vector
- ethtool -p eth0 物理口一个灯在不停的闪烁
- IE6,7,8在boostrap中兼容h5和css3
- scala初学笔记
- Unknown column 'sid' in 'field list'
- 白话浅说TCP/UDP面向连接,面向无连接的区别
- ScreenCapturePro2 for Joomla_3.4.7-tinymce4x
- react+webpack基础学习配置
- 洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)