手记

js创建数组的几种方式及其常见的几个问题

申明:本文是js系列笔记之一,仅供学习参考;有不正确的地方请尽管指出,大家相互学习,共同进步,适合js新手,高手秒退;

创建数组的3种方式:

1.  

先声明一个固定长度的数组,在使用下标初始化

2.

直接在构造种传入数组元素

3.

直接用数组字面量创建

问题1:js数组与其他强类型语言的数组不同,在一个数组中可以存放不同类型的变量;这为程序设计带来了便利,也带来了许多问题;有利于构造复杂的数据结构,却不利于维护,同时由于这种灵活性可能会带来意想不到的问题;

问题2:请看下边代码;

这样操作的结果?


竟然出现这样的结果,而且浏览器也不回报错;

问题3:请看下边代码:

会创建出一个2或者3项的数组

这种情况在ie8及之前版本会创建出一个3项的数组分别是:1,2,undefined;在其他 浏览器会变成一个包含两项的数组:1,2;

问题4:看下边代码

会创建出一个包含4或者5项的数组

这种情况在在ie8及更早版本中会创建出5项数组,数组元素都为undefined;在ie9,firefox,opera,safari,chrome中会创建出4项的数组,每项元素都为undefined;

由以上几个问题,可以得到:在使用数组的时候严格按照创建数组的3种方式中的一种去创建数组,在数组元素项末不要多加额外的都逗号,创建需要长度的数组,中间最好不要留逗号;否则会引发js的兼容问题;

关于js的兼容问题,面试有好多人会问,而且答案会千奇百怪,可能没有一个面试官满意的答案;但是我的理解是:js的兼容问题非常多,涉及的面也很广,如果非要列举其兼容问题,足足可以写几本书都不一定能写完,如上述在数组的使用上就发生了很多兼容性问题;



作者:XBGG
链接:https://www.jianshu.com/p/e8295fb6a1f1


0人推荐
随时随地看视频
慕课网APP