有兩種比較有效地判斷方法拂到,但是注意他們的使用場景
1忍抽,typeof
typeof 常用來判斷 原始類型 如字符串(string)那槽,數(shù)字(number)酝掩,布爾值(boolean),‘undefined’丧叽。
如果要檢測null卫玖,直接用===或!== 即可,如(ele === null) (ele !== null)
因為typeof null //object
2, instanceof
instanceof 常用來檢測引用值踊淳,也稱作對象(object)假瞬。
如{ }, [], new Date(), new RegExp(). 他們的typeof 都是object,所以不能使用typeof進行區(qū)分判斷迂尝,要使用instanceof 脱茉。返回的將是一個布爾值。
如:[1,2] instanceof Array //true
instanceof可以用來檢測某對象是不是某構造函數(shù)的實例垄开,不過由于instanceof會檢測原型鏈琴许,比如所有的對象都繼承自Object,則 value instanceof Object都會返回true说榆。這是需要注意的。
而檢測函數(shù)的最好辦法是使用 typeof寸认。