JS数组的不同声明方式有什么区别?应用在哪些场合? 财富值12

2016-10-28 17:21发布

新新新手,我在慕课网学到数组这里,之前在W3SCHOOL也看过两种声明方式,发现其他声明方式,想请教一下都有什么区别和不同的应用场合。

<script type="text/javascript">  /*第一种声明方式  var myarr=new Array();  myarr[0]=80;   myarr[1]=60;  myarr[2]=99;  */  var myarr=new Array(80,60,99);  //第二种声明方式,这种声明方式是第一种的简写?  //var myarr=[80,60,99];         //第三种声明方式  //var myarr=([80,60,99]);       //第四种声明方式,多了个小括号,不解  document.write("第一个人的成绩是:"+myarr[0]);  document.write("第二个人的成绩是:"+myarr[1]);  document.write("第三个人的成绩是:"+myarr[2]);  </script>

第四种声明方式,多了个小括号,是什么情况呢?

付费偷看设置
发送
10条回答

并没有四种,只有两种:
使用构造函数:var arr = new Array();
使用字面量形式:var arr = [1,2,3];
其他形式只是对这两种形式的不同用法;
建议买本高程的书看吧,里面介绍的既详细又系统。

参数个数的不同,会导致Array()的行为有差异。

改变构造函数后字面量仍然可以声明数组。

其实就两种,讲那么多没用还浪费脑细胞,慕课网的课程就是这样,太过于学术,真正实用的课程还是看传智播客的吧,分享给你一些干货:

段曼 - 我很好
5楼-- · 2016-10-28 17:42

使用new的时候会调用Array的构造函数。而直接用[]来创建数组的时候,不调用构造函数,只是声明了一个数组型(严格说js并没有数组类型)对象,效率上比new快。可以看看其他语言有关类的介绍。

js课程讲的最好的就是妙味课堂跟智能社了

段曼 - 我很好
8楼-- · 2016-10-28 17:40

上面代码中,Array方法没有参数、一个参数、三个参数时,返回结果都不一样。只有当参数个数不少于2个时,Array()才会返回由参数组成的新数组。

字面量声明数组不会调用数组的构造函数。

一周热门 更多>