typeof和instanceof的区别
先来了解一下typeof的取值类型范围
基本(值)数据类型: Number:数字类型 String:字符串类型 Boolean:布尔类型 Null:空 Undefined:未定义
引用(对象)类型: Object:任意一种对象 Function:一种特别的对象(可执行) Array:一种特别的对象(数字下标,内部数据是有序的)
number类型
string类型
boolean类型
undefined类型
null类型
function类型
object类型
typeof是什么?
typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined
的最佳工具。
instanceof是什么?
instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
typeof 和instanceof的联系
其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!
区别就是typeof是判断变量是什么基本类型的;instanceof是判断对象到底是什么类型的;