js中typeof 與instanceof的區別

2021-09-24 17:36:04 字數 1395 閱讀 9653

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

"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用法小記

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