在 JavaScript 中,判斷一個變量的類型嚐嚐會用 typeof 運算符,在使用 typeof 運算符時採用引用類型存儲值會出現一個問題,不管引用的是什麼類型的對象,它都返回 "object"。javascript
因此怎麼才能判斷兩個類型相等呢?java
instanceof 來解決這個問題。instanceof 運算符與 typeof 運算符類似,用於識別正在處理的對象的類型。與 typeof 方法不一樣的是,instanceof 方法要求開發者明確地確認對象爲某特定類型。例如:spa
var oStringObject = new String("hello world"); console.log(oStringObject instanceof String); // 輸出 "true"
下面是我簡單封裝了一下3d
第一種code
function fn(arg1,arg2){ if(arg1===undefined||arg1===null){ console.log('無值') }else{ if( arg2!=undefined||arg2!=null ){ console.log(2) }else{ if(typeof arg1 =='string'){ console.log(1) } if( arg1 instanceof Array ){ console.log(4) } if( arg1 instanceof Object ){ console.log(3) } } } } fn('hello'); fn({}); fn([]); fn(); fn('hello','world');
第二種對象