java面试题网

普通会员

72

帖子

7

回复

31

积分

楼主
发表于 2018-04-19 10:45:43 | 查看: 204| 回复: 0

基本数据类型: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]"

    };  

}



您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018