1、typeof(arr)
var arr=new Array("1","2","3","4","5");
alert(typeof(arr)); 返回object
2、instanceof
操作符
var arrayStr=new Array("1","2","3","4","5");
alert(arrayStr instanceof Array); 返回true
PS:在跨 frame 对象构建的场景下会失效
3、
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
} call改变toString的this引用为待检测的对象,返回此对象的字符串表示,然后对比此字符串是否是'[object Array]',以判断其是否是Array的实例。为什么不直接o.toString()?Array继承自Object,会有toString方法,但是这个方法有可能会被改写失去原本的意义。
4、arr.toString() 返回的是数组的内容
本文介绍了JavaScript中检测数组类型的四种方法:使用typeof操作符、instanceof操作符、自定义函数及toString方法,并解释了每种方法的工作原理及其优缺点。
693

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



