JavaScript 的数据类型都有什么?

基本数据类型:String,Boolean,number,undefined,object,Null

引用数据类型:Object(Array,Date,RegExp,Function)

那么问题来了,如何判断某变量是否为数组数据类型?

方法一.判断其是否具有“数组性质”,如 slice()方法。可自己给该变量定义 slice 方法, 
故有时会失效

方法二.obj instanceof Array 在某些 IE 版本中不正确

方法三.方法一二皆有漏洞,在 ECMA Script5 中定义了新方法 Array.isArray(), 保证其兼 
容性,最好的方法如下:

toString.call(18);//”[object Number]”
toString.call(“”);//”[object String]”
  • 1
  • 2

解析这种简单的数据类型直接通过 typeof 就可以直接判断

toString.call 常用于判断数组、正则这些复杂类型
toString.call(/[0-9]{10}/)//”[object RegExp]”
if(typeof Array.isArray==="undefined"){
Array.isArray = function(arg){
return Object.prototype.toString.call(arg)==="[object Array]"
};
}
posted @ 2020-09-22 21:56  离任冲击  阅读(151)  评论(0)    收藏  举报