如果想要知道脚本中的一个变量是不是数组,可以用如下三种方法去判断:
1.如果能够确定脚本在同一个全局作用域,可以使用 instanceof :
if(value instanceof Array){
//对数组执行某些操作
}
2.如果脚本有可能不在一个全局作用域中执行,比如:网页中包含多个框架,那实际上就存在两个以上不同的全局执行环境,从而存在两个以上不同版本的Array构造函数。如果从一个框架向另一个框架中传入一个数组,那么传入数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。这种情况下可以使用:Array.isArray():
if(Array.isArray(value)){
//对数组执行某些操作
}
3.对不支持Array.isArray()方法的浏览器,可以使用如下的方法:
if(Object.prototype.toString.call(value)=="[object Array]"){
//对数组执行某些操作
}
1.如果能够确定脚本在同一个全局作用域,可以使用 instanceof :
if(value instanceof Array){
//对数组执行某些操作
}
2.如果脚本有可能不在一个全局作用域中执行,比如:网页中包含多个框架,那实际上就存在两个以上不同的全局执行环境,从而存在两个以上不同版本的Array构造函数。如果从一个框架向另一个框架中传入一个数组,那么传入数组与在第二个框架中原生创建的数组分别具有各自不同的构造函数。这种情况下可以使用:Array.isArray():
if(Array.isArray(value)){
//对数组执行某些操作
}
3.对不支持Array.isArray()方法的浏览器,可以使用如下的方法:
if(Object.prototype.toString.call(value)=="[object Array]"){
//对数组执行某些操作
}