前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js检测数据类型的方法

js检测数据类型的方法

作者头像
用户4344670
发布2019-09-27 16:43:35
1.7K0
发布2019-09-27 16:43:35
举报
文章被收录于专栏:vue的实战vue的实战
  • 方式一: typeof
代码语言:javascript
复制
typeof 1;//'number'
typeof true;//'boolean'
typeof '';//'string'
typeof undefined;//'undefined'
typeof function (){};'function'
  • 方式二: instanceof
代码语言:javascript
复制
var arr = [];
arr instanceof Array;//true
arr instanceof Object;//true

但是只要是在原型链上出现过构造函数都会返回true,所以这个检测结果不很准确

  • 方式三: constructor
代码语言:javascript
复制
var arr = [];
arr.constructor === Array;//true
arr.constructor === Object;//false
//因为arr通过原型链查找到的constructor指向了Array,所以跟Object判断就是错误滴
  • 方式四: Object.prototype.toString.call() 在Object基本类定义的这个toString()方法,是用来检测数据类型的; 跟字符串、数字、布尔等原型上定义的toString()方法基本用法都是转换字符串的。
代码语言:javascript
复制
console.log(Object.prototype.toString.call(1));//[object Number]
console.log(Object.prototype.toString.call(''));//[object String]
console.log(Object.prototype.toString.call(true));//[object Boolean]
console.log(Object.prototype.toString.call(null));// [object Null]
console.log(Object.prototype.toString.call(undefined));//[object Undefined]
console.log(Object.prototype.toString.call([]));// [object Array]
console.log(Object.prototype.toString.call({}));// [object Object]
console.log(Object.prototype.toString.call(/^$/));//[object RegExp]
console.log(Object.prototype.toString.call((function () {})));//[object Function]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.09.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档