1. 程式人生 > >javascript中怎麼判斷兩個資料型別相等

javascript中怎麼判斷兩個資料型別相等

在 JavaScript 中,判斷一個變數的型別嚐嚐會用 typeof 運算子,在使用 typeof 運算子時採用引用型別儲存值會出現一個問題,無論引用的是什麼型別的物件,它都返回 "object"。

所以怎麼才能判斷兩個型別相等呢?

instanceof 來解決這個問題。instanceof 運算子與 typeof 運算子相似,用於識別正在處理的物件的型別。與 typeof 方法不同的是,instanceof 方法要求開發者明確地確認物件為某特定型別。例如:

var oStringObject = new String("hello world"); 
console.log(oStringObject instanceof String);   // 輸出 "true"

 下面是我簡單封裝了一下

                   第一種

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');

第二種

&n