函数 typeof 的不足: 而可以判断出简单的数据类型,单对发杂的数据类型判断比较模糊
比如 :数组对象 、时间对象、正则对象、Math对象返回的都是 object
解决方法 利用object对象 prototype 的tostring方法返回一本身类型的字符串
let str = 'string'
let num = 123
let arr = [1,2,3]
let date = new Date()
let math = Math.floor(12.654)
let type1 = typeof(str)// string
let type2 = typeof(num)// number
let type3 = typeof(arr)// object
let type4 = dataType(arr) //array
let type5 = dataType(date) //date
let type6 = dataType(math) //number
// object对象的 prototype 的tostring方法都会返回一个表示本身类型的字符串
function dataType(obj) {
let o = {}
return o.toString.call(obj).slice(8,-1).toLowerCase()
}
博客指出函数typeof能判断简单数据类型,但对复杂数据类型判断模糊,如数组、时间、正则、Math对象用typeof判断都返回object。还给出解决方法,即利用object对象prototype的tostring方法返回本身类型的字符串。
305

被折叠的 条评论
为什么被折叠?



