基本数据类型:String,boolean,Number,Undefined, Null
引用数据类型:Object(Array,Date,RegExp,Function)
那么问题来了,如何判断某变量是否为数组数据类型?
方法一.判断其是否具有“数组性质”,如slice()方法。可自己给该变量定义slice方法,故有时会失效
方法二.obj instanceof Array 在某些IE版本中不正确
方法三.方法一二皆有漏洞,在ECMA Script5中定义了新方法Array.isArray(), 保证其兼容性,最好的方法如下:
if(typeof Array.isArray==="undefined"){
Array.isArray = function(arg){
return Object.prototype.toString.call(arg)==="[object Array]"
};
}
博客探讨了JavaScript中如何确定变量的数据类型,特别是数组。提到了使用`slice()`方法、`instanceof`操作符以及ECMAScript5引入的`Array.isArray()`方法。在旧版浏览器中可能存在的问题及解决方案,推荐使用`Array.isArray()`来确保兼容性。
2179

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



