js检测数组的4种方法

typeof 220; // "number"
typeof "220"; // "string"
typeof false; // "boolean"
typeof [1, 2, 3];   // "object"
typeof a; // "undefined"
typeof Symbol(); // "symbol"
typeof console.log; // "function"

类型操作符typeof返回值有7种:number,string,boolean,object,undefined,symbol和function。

可以发现用typeof只能测出arr是一个对象,因为typeof7种返回之中没有array,所以要判断是否是一个数组,可以有如下4种方式:

1、instanceof
arr instanceof Array;    //true
2、isArray
Array.isArray(arr);      //true
3、constructor
arr.constructor === Array;    //true
4、由于在iframe中创建的Array并不共享prototype,此时可以:
function isArray(obj){
    return Object.prototype.toString.call(obj) === '[object Array]';
}

isArray(arr);  // true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容