专栏首页vue的实战js检测数据类型的方法

js检测数据类型的方法

  • 方式一: typeof
typeof 1;//'number'
typeof true;//'boolean'
typeof '';//'string'
typeof undefined;//'undefined'
typeof function (){};'function'
  • 方式二: instanceof
var arr = [];
arr instanceof Array;//true
arr instanceof Object;//true

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

  • 方式三: constructor
var arr = [];
arr.constructor === Array;//true
arr.constructor === Object;//false
//因为arr通过原型链查找到的constructor指向了Array,所以跟Object判断就是错误滴
  • 方式四: Object.prototype.toString.call() 在Object基本类定义的这个toString()方法,是用来检测数据类型的; 跟字符串、数字、布尔等原型上定义的toString()方法基本用法都是转换字符串的。
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]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019-08-01easyMock 的使用

    用户4344670
  • 清除keepAlive的缓存

    用户4344670
  • iView-----日历组件

    用户4344670
  • 一次TIME_WAIT和CLOSE_WAIT故障和解决办法

    里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。

    sunsky
  • SAP UI5 Web Component的React表格控件用法

    从@ui5/webcomponents-react导入表格组件AnalyticalTable:

    Jerry Wang
  • Android Battery 架构【转】

    android中和电源相关的服务有两个他们在/frameworks/base/services/core/java/com/android/server/

    233333
  • Ubuntu服务器的anaconda环境

    某天在服务器上更新了conda的版本,不知怎么回事我的python3.6就变成python2.7了,而且一进入服务器就会自动进入base环境(我的conda只装...

    py3study
  • 简谈Spark Streaming的实时计算整合

    基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、ML...

    企鹅号小编
  • 【Elasticsearch系列之五】通过snapshot迁移ES数据

    2) 需占用源集群磁盘空间,或者借助于对象存储,实现友商ES到腾讯云ES,或自建ES到腾讯云ES的数据迁移。

    Vicwan
  • 测试开发面试题解

    吴老的java版《selenium webdriver3 实战宝典》和python版《selenium Webdriver 3.0 自动化测试框架实战指南》出版...

    Criss@陈磊

扫码关注云+社区

领取腾讯云代金券