5.2.1 JavaScript之数组检测

数组类型检测

  • instanceof
var arr = new Array();
if(arr instanceof Array){
    console.log(true)
}

instanceof 的问题在于,如果网页脚本包含多个框架,有多个版本的数组构造函数,如果从一个框架箱另一个框架传递数组,这时候instanceof检测数组会有问题

  • Array.isArray

这个方法是EMAC5添加的方法,支持的浏览器版本:IE9+,firefox4+, safari5+,opera10.5+, chrome

  • Object.prototype.toString.call()

这个方法存在的问题是:Object.prototype.toString函数是可以被改变的,如果是原生的js对象且没有被改变是可以的

猜你喜欢

转载自blog.csdn.net/qq452981462/article/details/80874641