? ? ? ? js是一門弱語言,它在聲明變量時無需確定變量的類型,js在運行時會自動判斷。那么如何判斷一個變量的類型呢,js提供了typeof運算符,用來檢測一個變量的類型。
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運算符,后續記錄instanceof運算符的相關用法。