判断某个对象值属于哪种内置类型,最靠谱的做法就是通过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

最新文章

  1. VS2013打开项目Web加载失败
  2. tinkphp验证码的使用
  3. redis使用心得
  4. Kraken taxonomic sequence classification system
  5. 基于Ogre的DeferredShading(延迟渲染)的实现以及应用
  6. Android 依赖注入 ButterKnife 基本使用
  7. C语言结构体的强制类型转换
  8. C#- 控制台Timer
  9. Delphi调用java开发的WebService,传入参数出错
  10. struts2初印象
  11. 李洪强漫谈iOS开发[C语言-027]-自增与自减运算符
  12. (@WhiteTaken)设计模式学习——组合模式
  13. Less 的使用方法
  14. HNOI2002 营业额统计(Splay Tree)
  15. leetcode 单链表相关题目汇总
  16. js 判断 是否在当前页面 当前页面是否在前端
  17. Metadata GC Threshold导致的full gc分析
  18. webpack 学习总结demo
  19. Gitlab部署
  20. 流(Stream)与文件流(FileStream)

热门文章

  1. Linux的作业管理
  2. C++ std::vector
  3. ethtool -p eth0 物理口一个灯在不停的闪烁
  4. IE6,7,8在boostrap中兼容h5和css3
  5. scala初学笔记
  6. Unknown column 'sid' in 'field list'
  7. 白话浅说TCP/UDP面向连接,面向无连接的区别
  8. ScreenCapturePro2 for Joomla_3.4.7-tinymce4x
  9. react+webpack基础学习配置
  10. 洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)