转载!javascript3种检测变量类型的方法
2017-06-20 12:21
330 查看
出处http://www.cnblogs.com/PolarisSky/p/5276483.html
instanceof只可以用来判断引用类型变量的具体类型,不可以用来判断基本数据类型(如果使用instanceof操作符检测基本数据类型的值,则该操作符返回结果始终都是false)。使用instanceof时,只要后面的数据类型处于引用类型变量所属类型的原型链上,结果都将返回true。所有引用类型的值都是Object实例,所以所有引用类型变量的instanceof Object都将返回true。
1、typeof检测变量类型
typeof检测变量类型只能返回:number、string、boolean、undefined、function、symbol、object这七种值,可以用来判断基本数据类型,但对于判断引用类型来说还不够具体。这里需要注意的是对于函数、null的typeof检测结果。1 console.log(typeof 1);//number 2 console.log(typeof "a");//string 3 console.log(typeof true);//boolean 4 console.log(typeof undefined);//undefined 5 console.log(typeof (function func(){}));//function 6 console.log(typeof Symbol())//symbol 7 console.log(typeof null);//object 8 console.log(typeof {});//object
2、instanceof检测变量类型
1 console.log({} instanceof Object);//true 2 console.log([] instanceof Array);//true 3 console.log([] instanceof Object);//true 4 console.log((function func(){}) instanceof Function);//true 5 console.log((function func(){}) instanceof Object);//true 6 console.log(/a{3}/gi instanceof RegExp);//true 7 console.log(/a{3}/gi instanceof Object);//true
instanceof只可以用来判断引用类型变量的具体类型,不可以用来判断基本数据类型(如果使用instanceof操作符检测基本数据类型的值,则该操作符返回结果始终都是false)。使用instanceof时,只要后面的数据类型处于引用类型变量所属类型的原型链上,结果都将返回true。所有引用类型的值都是Object实例,所以所有引用类型变量的instanceof Object都将返回true。
3、constructor检测变量类型
对于所有引用类型的变量,都有一个属性constructor,该属性指向该引用类型的构造函数。当然,constructor不能用于基本数据类型的类型检测。1 console.log({}.constructor===Object);//true 2 console.log([].constructor===Array);//true 3 console.log([].constructor===Object);//false 4 console.log((function func(){}).constructor===Function);//true 5 console.log((function func(){}).constructor===Object);//false 6 console.log((/a{3}/gi).constructor===RegExp);//true 7 console.log((/a{3}/gi).constructor===Object);//false
相关文章推荐
- Javascript学习笔记:3种检测变量类型的方法
- JavaScript各变量类型的判断方法
- javascript中检测变量的类型的代码
- javascript中的基本数据类型以及类型检测的几种方法
- javascript中对变量类型的判断方法
- JavaScript变量类型检测
- javascript检测数据类型的5种方法
- javascript检测数据类型的5种方法
- JavaScript 1.10 RegExp类型—正则表达式的使用方法(部分转载)
- JavaScript中如何检测一个变量是一个String类型?请写出函数实现
- javascript检测数据类型的5种方法
- JavaScript各变量类型的判断方法
- 关于JavaScript的变量的数据类型的判断方法
- javascript检测数据类型的5种方法
- javascript中检测变量的类型的代码
- JavaScript中判断变量是数组、函数或是对象类型的方法
- javascript 中检测数据类型的方法
- javascript检测对象类型的方法
- javascript检测数据类型的5种方法
- javascript基本数据类型及类型检测常用方法小结