js常用的幾種型別檢測方式

2022-04-04 19:20:06 字數 1584 閱讀 7542

平時資料型別都是清晰明了的,但有些功能函式還是需要用到型別檢測,現總結一下幾種常見的型別檢測方式:
typeof

instanceof

object.prototype.tostring

通常只記得適合基本型別,

不要忘了還有函式物件

還有只能大致判斷的object相關的

還有乙個非主流的null

那麼多個object,誰是誰呢?

a instanceof b: 

a: 基本型別就直接gg,false,必須是個物件

b:要麼是個物件,要麼是個建構函式

跨平台iframe、不同window一樣gg;

代表是a的原型鏈上是否有b的prtotype屬性(有點拗口,用lol簡單點就是判斷英雄a(歐巴馬)有沒有b(破敗)的被動來判斷是否已經買了b(破敗),好吧也不太準確詞窮)

所以說這個null有點日怪;

instanceof最主要的還是判斷這個原型鏈上的關係:

這個是親生的

也許你會想這樣

因為這是個假老王,

好吧,來個借腹生子的,

關鍵在於改變了ls.__proto__的指向

怎麼生一窩呢?

還是把構造器弄回來吧

太懶了,箭頭都不想打了

原型鏈倒數第二層object上的方法,原型鏈沒有__proto__就沒有再下一層了,再找是null了

這個在ie678還是不撐頭,null和undefined還會返回"[object object]";

Socket常用幾種型別

socket是一組程式設計介面 api 是對tcp ip協議的封裝和應用。介於傳輸層和應用層,大致駐留在 osi 模型的會話層,向應用層提供統一的程式設計介面。應用層不必了解tcp ip協議細節。直接通過對socket介面函式的呼叫完成資料在ip網路的傳輸。基於傳輸層差異,4種型別的socket 1...

JS關於資料型別檢測的幾種方式

js中我們只用乙個var就能定義所有型別的變數,非常方便,但是也同樣給我們造成了困擾,如果我們想知道乙個函式的返回值是什麼型別的,或者輸入的資訊是什麼型別的時候就要通過對資料進行檢測,所以我們該如何進行資料型別的檢測呢?資料型別檢測方式 typeof typeof 用來檢測資料型別的運算子 使用方式...

JS中檢測資料型別的幾種方式

判斷js中的資料型別有一下幾種方法 typeof instanceof constructor prototype type jquery.type 接下來主要比較一下這幾種方法的異同。var a iamstring.var b 222 var c 1 2,3 var d newdate vare ...