typeof與instanceof的區別

2021-08-22 08:30:49 字數 1018 閱讀 3100

1、typeof是一元運算子,返回值為字串,該字串用來說明運算數的資料型別(string、number、boolean、object、undefined、function),我們可以使用 typeof 來獲取乙個變數是否存在,如 if(typeof a!="undefined"),而不要去使用 if(a) 因為如果 a 不存在(未宣告)則會出錯,對於 array,null 等特殊物件使用 typeof 一律返回 object,這正是 typeof 的侷限性。

2、instanceof用來判斷某個變數是否是某個物件的例項,返回值為true和false。

var a=new array();

alert(a instanceof array);

alert(a instanceof object);

會返回 true,同時 alert(a instanceof object) 也會返回 true;這是因為 array 是 object的子類。

再如:function test(){};var a=new test();alert(a instanceof test) 會返回true

談到 instanceof 我們要多插入乙個問題,就是 function 的 arguments,我們大家也許都認為 arguments 是乙個

array,但如果使用 instaceof 去測試會發現 arguments 不是乙個 array 物件,儘管看起來很像。

另外:測試 var a=new array();if (a instanceof object) alert('y');else alert('n');

得'y'

但 if (window instanceof object) alert('y');else alert('n');

得'n'

所以,這裡的 instanceof 測試的 object 是指 js 語法中的 object,不是指 dom 模型物件。

使用 typeof 會有些區別

alert(typeof(window)) 會得 object

JS基礎之typeof和instanceof用法

在js中當不確定運算元的型別時,可以通過typeof 函式返回變數的型別。typeof 函式會把型別資訊當做字串返回,且typeof的返回值有六種情況,這六種返回值型別分別是 typeof的使用 舉例說明 console.log typeof null object console.log type...

Pipe類與Instance類介紹

pipe類與instance類介紹 章芝青 抽象類pipe,是所有pipe類的父類,這些類的作用就是將資料從一種形式轉成另一種形式。在特徵提取階段,pipe類是最常用的。pipe類操縱instance類,instance類是描述資料的類,也是十分重要的乙個類。每乙個instance包括四個預定義的域...

instance恢復概覽

instance恢復概覽 相關動態檢視 oracle 伺服器提供許多標準檢視以獲取有關資料庫和例程的資訊。這些檢視包括 v sga 查詢有關例程的以下各項的大小 共享池 日誌緩衝區 資料緩衝區快取記憶體以及固定記憶體大小 取決於作業系統 v instance 查詢例程的狀態,如例程模式 例程名 啟動...