自己不官方的理解typeof和instanceof

2021-07-27 01:57:50 字數 791 閱讀 4448

一、typeof

typeof(的)運算數未定義,返回(的)就是 "undefined".

運算數為數字 typeof(x) = "number"

字串 typeof(x) = "string"

布林值 typeof(x) = "boolean"

物件,陣列和null typeof(x) = "object"

函式 typeof(x) = "function"

綜上所述,typeof的返回型別有:undefined,number,string,boolean,object,function

自己理解的用途:

我們可以使用 typeof 來獲取乙個變數是否存在,如 if(typeof a!="undefined"),而不要去使用 if(a) 因為如果 a 不存在(未   宣告)則會出錯。

二、instanceof

instanceof運算子是返回乙個 boolean 值,指出物件是否是特定類的乙個例項.

a instanceof b?alert("true"):alert("false"); //a是b的例項?真:假

instanceof 用於判斷乙個變數是否某個物件的例項,如 var a=new array();alert(a instanceof array); 會返回 true,同時 alert(a instanceof object) 也會返回 true;這是因為 array 是 object 的子類。再如:function test(){};var a=new test();alert(a instanceof test) 會返回true.

typeof 的用法和用處

不管實在c還是c 中,typedef這個詞都不少見,當然出現頻率較高的還是在c 中。typedef與 define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了,看了網上一些c c 的學習者的部落格,其中有一篇關於typedef的總結還是很不錯,由於總結的很好,我就不加修改的引用過...

instanceof 和 typeof的區別

undefined,number,string,boolean屬於簡單的值型別,不是物件。剩下的幾種情況 函式 陣列 物件 null new number 10 都是物件。他們都是引用型別。簡單的值型別用typeof就可以分辨清楚了,但是就是typeof來判斷引用型別的型別並不準確。比如陣列 正則 ...

typeof 和 instanceof 的區別

一 typeoof的用法 1.typeof是一元運算,放在被測的運算數的前面,運算數可以是任意型別。2.typeof 返回的是是乙個字串,表示該運算數的型別。3.具體返回值 typeof x string x為字串 typeof x number x時數字型 typeof x boolean x為布...