js中檢測變量是否定義,可以用這個語句,比如:
1. typeof的語法
typeof是一個運算符,有2種使用方式:typeof(表達式)和typeof 變量名,第一種是對表達式做運算,第二種是對變量做運算。
2. typeof的返回值
typeof運算符的返回類型為字符串,值包括如下幾種:
1. 'undefined' --未定義的變量或值
2. 'boolean' --布爾類型的變量或值
3. 'string' --字符串類型的變量或值
4. 'number' --數字類型的變量或值
5. 'object' --對象類型的變量或值,或者null(這個是js歷史遺留問題,將null作為object類型處理)
6. 'function' --函數類型的變量或值
3. 簡單的示例
console.log(typeof a); //'undefined'
console.log(typeof(true)); //'boolean'
console.log(typeof '123'); //'string'
console.log(typeof 123); //'number'
console.log(typeof NaN); //'number'
console.log(typeof null); //'object'
var obj = new String();
console.log(typeof(obj)); //'object'
var fn = function(){};
console.log(typeof(fn)); //'function'
console.log(typeof(class c{})); //'function'
總結:typeof運算符用於判斷對象的類型,但是對於一些創建的對象,它們都會返回'object',有時我們需要判斷該實例是否為某個對象的實例,那么這個時候需要用到instanceof運算符