js如何判断一个对象是不是Array

 我来答
tianxing0412
2015-07-09 · TA获得超过142个赞
知道小有建树答主
回答量:94
采纳率:100%
帮助的人:71.5万
展开全部
本来判断一个对象类型用typeof是最好的,不过对于Array类型是不适用的
可以使用 instanceof操作符
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);
当然以上在一个简单的页面布局里面是没有问题的,如果是复杂页面情况,入获取的是frame内部的Array对象,可以用这个函数判断:
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
mapple_leave
2015-07-09 · TA获得超过151个赞
知道答主
回答量:33
采纳率:0%
帮助的人:28万
展开全部

javascript中的 instanceof 用于判断一个变量是否某个对象的实例,如 var a=new Array();alert(a instanceof Array); 会返回 true。

var s = "1";
alert(typeof(s) + "--" + (s instanceof Array));

var a = [];
alert(typeof(a) + "--" + (a instanceof Array));

var b = new Array();
alert(typeof(a) + "--" + (b instanceof Array));
 
var c = 123;
alert(typeof(c) + "--" + (c instanceof Array));

 

希望对你有所帮助。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a11e90
2015-07-09 · 知道合伙人软件行家
a11e90
知道合伙人软件行家
采纳数:473 获赞数:1702
qq交流群:208779755 博客:https://my.oschina.net/haitaohu

向TA提问 私信TA
展开全部
typeof 操作符
对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时
var arr=new Array("1","2","3","4","5");
alert(typeof(arr));
你会收到一个object 的答案,有点让人失望。
instanceof 操作符
JavaScript中instanceof运算符会返回一个 Boolean 值,指出对象是否是特定类的一个实例。 使用方法:result = object instanceof class,还是刚刚的数组,再来一次,嗯,成功的返回 true。
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq1111qq111111
2015-07-09 · TA获得超过1175个赞
知道小有建树答主
回答量:1166
采纳率:66%
帮助的人:595万
展开全部
var arr = [1,3];

Array.isArray(arr);// true

或者
Object.prototype.toString.call(arr);// "[object Array]"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式