typeof和instanceof使用區別

2021-08-13 23:05:48 字數 1725 閱讀 7715

基本(值)資料型別:

number:數字型別

string:字串型別

boolean:布林型別

null:空

undefined:未定義

引用(物件)型別:

object:任意一種物件

function:一種特別的物件(可執行)

array:一種特別的物件(數字下標,內部資料是有序的)

typeof:用於判斷基本資料型別,返回值型別是字串

instanceof:用於判斷物件的具體型別,返回值型別是boolean

===:可以用來判斷,null和undefined (這兩種資料有乙個共同特點是都是只有一種情況,不像boolean型別,可能是true,也可能是false);

//

typeof使用例項:

var b=true;

console.log(typeof b);//

'boolean'

var c="";

console.log(typeof c);//

'string'

var d=1;

console.log(typeof d);//

'number'

var e,f=undefined;

console.log(typeof e,typeof f);//

'undefined'

'undefined'

var a=null;

console.log(typeof a);//

'object'

var obj={};

console.log(typeof obj);//

'object'

var arr=[1,2,3];

console.log(typeof arr);//

'object'

var fn=function()

console.log(typeof fn);//

'function'

由上面可以看出,typeof對於null和array和object沒有辦法準確的測出其型別,返回值都是object型別

//instanceof例項:

var obj=

}console.log(obj instanceof

object); //true

console.log(obj.b1 instanceof

object,obj.b1 instanceof

array);//true true

console.log(obj.b2 instanceof

object,obj.b2 instanceof

function);//true true

var a=null;

console.log(a instanceof

object);//false

用instanceof 方法可以明顯的把null型別排除掉,同時對於物件型別他們本身就都是物件所以當匹配object的時候返回的自然是true。

那最後怎樣區別array和object呢?

console.log(obj instanceof object&& (tostring.call(obj) !== 「[object array]」));

利用tostring方法判斷是否為陣列

JS基礎之typeof和instanceof用法

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

database和instance的區別

database 資料庫,一組相關的物理檔案,比如資料檔案 日誌檔案和控制檔案等等,是物理上實實在在存在的,即使關閉資料庫仍然存在。instance 例項。記憶體和一些程序,比如sga 後台程序 windows系統是執行緒 當關閉資料庫後例項消失。兩者是相輔相成的,經常在一起使用。我們以常見的資料庫...

instance恢復概覽

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