用來檢測給定變數的資料型別,其返回的值是下列某個字串:
"undefined":變數未定義
"boolean":變數為布林型別
"string":變數為字串
"number":變數為數值
"object":變數為物件或null
"function":變數為函式
alert(typeofnull) //
返回"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、布林值、陣列和字串都是原始值
functionperson(){};
var person = new
person();
alert(person
instanceof person)//
返回true
functionanimal(){};
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一般只...