javascript有三種方法可以檢測一個值是什么類型
1叫倍、typeof
2计雌、instanceof
3醋粟、Object.prototype.toString
typeof 123//"number"
typeof "123"http://"string"
typeof true //"boolean"
function func(){}
typeof func//"function"
typeof undefined //"undefined"
typeof window //"object"
typeof {}//"object"
typeof []//"object"
typeof null // "object"
劃重點 typeofe 是無法檢測數(shù)組的蹋偏,數(shù)組的本質(zhì)是一種特殊的對象,檢驗數(shù)組要用intanceof
var o={};
var a=[];
o instanceof Array // false
a instanceof Array // true
空字符串轉(zhuǎn)布爾類型是false饶火,對象和數(shù)組是true
if(''){
console.log("true")
}
// 無輸出
if([]){
console.log('true');
}
// true
if({}){
console.log("true")
}
// true