博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
判断数据类型几种方法
阅读量:5240 次
发布时间:2019-06-14

本文共 1119 字,大约阅读时间需要 3 分钟。

常用的判断数据类型的方法主要有:typeof,instanceof,constructor,Object.prototype.toString

下面来分别介绍

1、typeof:返回一个字符串,表示未经计算的操作数的类型。

     console.log(typeof 42);   // number   

     缺点:对于数组和对象或null 都会返回object

2、instanceof:用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置

function Car(make, model, year) {  this.make = make;  this.model = model;  this.year = year;}var auto = new Car('Honda', 'Accord', 1998);console.log(auto instanceof Car);       // true// 因为Object是原型链的最顶端,所以在其原型链上的都会为trueconsole.log(auto instanceof Object);   // true  

        缺点:instanceof不能判断null和undefined

3、constructor:返回创建实例对象的 Object 构造函数的引用

var o = {};o.constructor === Object; // truevar o = new Object;o.constructor === Object; // truevar a = [];a.constructor === Array; // truevar a = new Array;a.constructor === Array // truevar n = new Number(3);n.constructor === Number; // truefunction Tree(name) {   this.name = name;}var theTree = new Tree("Redwood");console.log( theTree.constructor );   //function Tree(name){this.name=name}

     缺点:无法检测null,undefined

4、Object.prototype.toString

Object.prototype.toString.call(new Date)  // [object Date]

 

 

 

 

 

   

 

转载于:https://www.cnblogs.com/zpxm/p/9803101.html

你可能感兴趣的文章
javascript之聊天室(单机)来自于冷的锋刃
查看>>
青蛙跳一格或者两格,n格跳法
查看>>
Palindrome Partitioning
查看>>
Leetcode: Binary Tree Inorder Traversal
查看>>
sessionStorage、localStorage与cookie
查看>>
3ds max 转换文件格式插件开发
查看>>
PHP变量作用域以及地址引用问题
查看>>
实验四
查看>>
网站迁移时候,发现<head>内容都到body里了
查看>>
前端开发实现自动化编译与部署
查看>>
3W法则-学习Docker
查看>>
Elastic Stack-Elasticsearch使用介绍(三)
查看>>
MacOS copy图标shell脚本
查看>>
linux 性能分析工具整理
查看>>
关于在Servelet中如何获取当前时间的操作
查看>>
怎么打包谷歌商店安装的文件?
查看>>
C陷阱与缺陷--读书笔记7 可移植性缺陷
查看>>
【索引】gtest学习笔记
查看>>
vue-随笔-transition
查看>>
第八章 方法
查看>>