JS數據類型檢測

  • js中的數據類型分爲基本類型和引用類型,基本類型有:String、Number、Boolean、Null、Undefined,引用類型有:Object
  • 判斷數據類型一般有4種方法:typeof、instanceof、constructor、toString

1.typeof

  • typeof 返回一個表示數據類型的字符串,返回結果包括:number、boolean、string、object、undefined、function等6種數據類型。
  • typeof null會返回object,因爲特殊值null被認爲是一個空的對象引用

2.instanceof

  • 判斷對象和構造函數在原型鏈上是否有關係,如果有關係,返回真,否則返回假
  • 使用new實例的方式可以判斷,使用字面量的方式無法判斷。

3.constructor

  • constructor 在其對應對象的原型下面,是自動生成的。當我們寫一個構造函數的時候,程序會自動添加:構造函數名.prototype.constructor = 構造函數名
  • undefined和null是不能夠判斷出類型的,並且會報錯。因爲null和undefined是無效的對象,因此是不會有constructor存在的ndefined和null是不能夠判斷出類型的,並且會報錯。因爲null和undefined是無效的對象,因此是不會有constructor存在的
  • 使用constructor是不保險的,因爲constructor屬性是可以被修改的,會導致檢測出的結果不正確

4.Object.prototype.toString.call()

  • 不管是什麼類型的,Object.prototype.toString.call();都可以判斷出其具體的類型。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章