typeof
typeof 是一个一元运算,放在一个运算数之前,这个运算数可以是任意的基本数据类型,而它的返回值是该运算数所对应的基本数据类型的字符串。
这也就是说typeof其实就是判断参数是什么类型的实例,就一个参数,返回值一般只能是如下几个结果:number、string、boolean、object、function、undefined。
var number = 123;
var string = '123';
var boolean = true;
var kong = null
console.log(typeof number);//number
console.log(typeof string);//string
console.log(typeof boolean);//boolean
console.log(typeof kong);//object
同样,我们可以利用typeof来判断一个变量是否存在
var number = 123;
if( typeof number !== undefined){
console.log(number);//这里我们已经将number定义了,因此打印出的是123
}else {
console.log('值未定义')
}
instanceof
var number = new Number()
var arr = new Array()
console.log( number instanceof Number ) //true
console.log( arr instanceof Array ) //true
console.log( arr instanceof Object ) //true
console.log( number instanceof Array ) //false
instanceof 运算符主要用来检测 constructor.prototype 是否存在于参数 object 的原型链上。
var arr = new Array()
if (arr instanceof Object){
console.log('yes') //这里打印的结果是yes
}else{
console.log('no')
}