js資料型別的判斷

張三李四趙六發表於2018-10-15
  • typeOf
var str = 1
typeOf str
返回 number
複製程式碼

判斷區分不了Array,Object

  • instancof
var arr = []
arr instanceof Array
返回true
複製程式碼

instanceof 是根據物件的constructor判斷的,更改了constructor屬性就會判斷錯誤

  • Object.prototype.toString.call()
var arr = []
Object.prototype.toString.call(arr)
返回 "[Object Array]"
function DataType(n){
    var reg = /\[object (\w+)\]/
    reg.test(Object.prototype.toString.call(n))
    return RegExp.$1
}
複製程式碼

相關文章