js中typeof 與instanceof的區別

2022-06-01 12:18:09 字數 1395 閱讀 8466

用來檢測給定變數的資料型別,其返回的值是下列某個字串

"undefined":變數未定義

"boolean":變數為布林型別

"string":變數為字串

"number":變數為數值

"object":變數為物件或null

"function":變數為函式

alert(typeof

null) //

返回"object"

特殊值null被認為是乙個空的物件引用

無論什麼型別的物件,typeof均返回"object",而instanceof可以檢測某個物件是否是某一資料型別,或乙個物件是否是另乙個物件的例項,也可以在繼承關係中判斷乙個例項是否屬於它的父型別,其左運算元為待檢測物件,右運算元為定力類的建構函式,返回值為布林型別true或false

var stringobject = new string("hello world");

var str = "hello world"alert(stringobject

instanceof string)//

返回true

alert(str instanceof string)//

返回false,instanceof不認為原始值的變數是物件

alert([1,2] instanceof object)//

返回true

alert(null

instanceof object)//

返回false

alert(1 instanceof object)//

返回false

alert(1 instanceof number)//

返回false

alert(undefined instanceof object)//

返回false

undefined、null、布林值、陣列和字串都是原始值

function

person(){};

var person = new

person();

alert(person

instanceof person)//

返回true

function

animal(){};

function

person(){};

person.prototype = new

animal();

var person = new

person();

alert(person

instanceof animal);//

返回true

js中typeof與instanceof的區別

最近在看 高程 三 看到書中一些例子,就想到typeof和instanceof的區別。眾所周知,js資料型別可分為基本資料型別和引用資料型別 基本型別是儲存在棧記憶體中的簡單資料段,簡言之也就是有單一字面量的值 引用資料型別指的是有多個值構成的物件。那麼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...