之前一直使用的jquery的数据类型判断,比如:isArray()等,今天看到了一个判断数据类型的简单的原生方法,分享给大家

Object.prototype.toString 方法返回对象的类型字符串,因此可以用来判断一个值的类型

var val = Object.prototype.toString.call(param); 
Object.prototype.toString.call({}) // "[object Object]"
Object.prototype.toString.call([]) // "[object Array]"
Object.prototype.toString.call(2) // "[object Number]"
Object.prototype.toString.call('') // "[object String]"
var type = val.match(/\[object (.*?)\]/)[1].toLowerCase();//数据的类型

在这个的基础上,还可以加上专门判断某种类型数据的方法。

 var typeArr = ['Null',
'Undefined',
'Object',
'Array',
'String',
'Number',
'Boolean',
'Function',
'RegExp'
];
var type = {};
typeArr.forEach(function (t) {
type['is' + t] = function (params) {
var val = Object.prototype.toString.call(params);
var type = val.match(/\[object (.*?)\]/)[1].toLowerCase();
return type === t.toLowerCase();
}
})

来自《JavaScript 标准参考教程(alpha)》,by 阮一峰  

最新文章

  1. Eclipse 恢复删除的文件
  2. uiwebview的基本使用
  3. Thinkphp中路由Url获取的使用方法
  4. MVC3.0 提交表单的方法
  5. yii分页
  6. angularJS服务一
  7. 数据结构队列的java实现,包括线性和链式两种方式
  8. 基于TypeScript的FineUIMvc组件式开发(开头篇)
  9. 支付平台PCI认证整改
  10. 看板记录工具wekan
  11. Redis(四)-持久化
  12. django rest framework ViewSets & Routers
  13. docker 系列 - Java程序制作Docker Image推荐方案(转载)
  14. Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed.
  15. POJ-3233 Matrix Power Series 矩阵A^1+A^2+A^3...求和转化
  16. mongo扩展错误
  17. sitecore系列教程之Sitecore个性化定制体验的内容策略
  18. linux环境下配置mysql双主复制
  19. POJ 1182 食物链 (带权并查集)
  20. oracle12c创建用户和表空间出现的问题

热门文章

  1. 学习-Vue3-绑定内联样式
  2. 谷歌Chrome浏览器网页中看视频出现绿屏、闪烁和花屏等显示问题解决方法
  3. BIP去掉弹框中的参照的新增按钮
  4. 实验室服务器运维踩坑o.0
  5. phpstorm go py 30天无线试用
  6. C++ primer笔记 -基本语言
  7. 我和Java这些年的故事(三)
  8. wrf-python离线安装
  9. 如何在 Visual Studio 中自定义 Docker 容器 和 使用 Docker Compose 为 Visual Studio 创建多容器应用
  10. c++dump