JS高程5.引用类型(3)Array类型-检测数组

  对于一个网页,或者是一个大局功用域而言,使用instanceof操作符来检测数组就可以赢得满足的结果。

eg:

图片 1

    //对数组执行某些操作

  语法:if(value instanceof
Array){

eg:

eg:

      //对数组执行某些操作

  由于原生的构造函数与全局成效域无关因而拔取toString()就能保证再次回到一致的值。利用这点,可以创设如下函数举行判定:高程书P597

  

2.
Array.isArray()方法(ECMAScript5)

1  var colors=["red","pink"];
2     var n=18;
3     var isArray=colors instanceof Array;//返回true
4     var isArray1=n instanceof Array;//返回false
5     alert(isArray);
6     alert(isArray1);

 

  由于在此外值上调用Obiect原生的toString()方法,都会回到[object
NativeConstructorName]格式的字符串。

注意:

  instanceof操作符在存在三个全局功效域(像一个页面包含三个框架frame)的事态下,var
isArray=value instanceof
Array;要回去true,value必须是数组,而且还必须与Array构造函数在相同全局效能域中。(Array是window的性质)如若value是另一个框架中定义的数组,那么会重回false。

语法:

    }

1 var colors=["red","pink"];
2     var n=18;
3     var isArray=Array.isArray(colors);//返回true
4     var isArray1=Array.isArray(n);//返回flase
5     alert(isArray1);
6     alert(isArray);

图片 2

 

  帮助Array.isArray()方法的浏览器有IE9+,Firefox
5+,Opera
10.5+和Chrom。要在并未落实那么些措施的浏览器中标准检查数组,参考下边的措施。

图片 3

1.
instanceof操作符(ECMAScript3)

注意:

  

  instanceof具体的用法参考 
https://www.ibm.com/developerworks/cn/web/1306\_jiangjj\_jsinstanceof/\#icomments

图片 4

  }

  if(Array.isArray(value)){

图片 5

1  function isArray(value){
2         return Object.prototype.toString.call(value)=="[object Array]";
3     }

 

1 var colors=["red","pink"];
2     var number1=20;
3     var obj=new Object();
4     alert(Object.prototype.toString.call(colors));//"[object Array]"
5     alert(Object.prototype.toString.call(number1));//"[object Number]"
6     alert(Object.prototype.toString.call(obj));//"[object Object]"