js中typeof與instanceof的區別

2021-08-17 03:18:47 字數 487 閱讀 1347

最近在看《高程 三》,看到書中一些例子,就想到typeof和instanceof的區別。

眾所周知,js資料型別可分為基本資料型別和引用資料型別:基本型別是儲存在棧記憶體中的簡單資料段,簡言之也就是有單一字面量的值;引用資料型別指的是有多個值構成的物件。

那麼typeof與instanceof的區別到底有什麼區別呢?

typeof是乙個用來檢測變數資料型別的操作符,主要用來檢測基本資料型別。為什麼這麼說呢?因為它可以判斷乙個變數是字串、數值、布林值還是undefined,但是如果檢測的變數是引用資料型別,可以返回object或者function,但不能細緻地分出是array還是regexp。

而 instanceof主要的目的就是檢測引用型別,它可以判斷出物件是array還是regexp。

總結起來就是:

typeof和instanceof都是用來檢測變數型別的操作符,二者的區別在於typeof一般是檢測基本資料型別,而instanceof是用來檢測引用資料型別。

js中typeof與instanceof用法小記

今天寫js 遇到動態生成多個名稱相同的input複選按鈕 需要判斷其是否是陣列,用到了if typeof document.mapcheckmgr.checkid undefined 以前用得少,就順便查了一下關於typeof的那些事 typeof用以獲取乙個變數或者表示式的型別,typeof一般只...

js中typeof 與instanceof的區別

用來檢測給定變數的資料型別,其返回的值是下列某個字串 undefined 變數未定義 boolean 變數為布林型別 string 變數為字串 number 變數為數值 object 變數為物件或null function 變數為函式 alert typeof null 返回 object 特殊值n...

js中typeof與instanceof用法小記

今天寫js 遇到動態生成多個名稱相同的input複選按鈕 需要判斷其是否是陣列,用到了if typeof document.mapcheckmgr.checkid undefined 以前用得少,就順便查了一下關於typeof的那些事 typeof用以獲取乙個變數或者表示式的型別,typeof一般只...