typeof的取值类型范围
总体来说共有七种返回值类型
1.number型
typeof(10);
typeof(NaN);//NaN本身也属于数字类型
2.String型
typeof('abc')
3.Boolean型
typeof(true)
typeof(false)
4.undefined
typeof(undefined)
typeof(a) //没有声明不存在的变量
5.object
对象,数组,null返回object
typeof(null)
typeof([1,2,3])
6.function类型
后面跟的是一个函数
typeof(Date)
7.symbol
typeof symbol() //Es6新增的类型
typeof与instanceof的区别
typeof:在 JavaScript 中,typeof运算符返回一个用来表示表达式的数据类型的字符串。判断一个变量的类型常常会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。
instanceof:用来检测某个对象是不是另外一个对象的实例,用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。
function Set(val){
//在这里instanceof 判断是否为数组
if(val instanceof Array){
//去重
this.items = Set.unique(val)
}else{
// argument 参数 将所有的参数转化成一个数组
this.items = Set.unique(Array.from(arguments))
}
}