继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

RISEBY
关注TA
已关注
手记 460
粉丝 70
获赞 317

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

创建数组的3种方式:

1.  

webp

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

2.

webp

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

3.

webp

直接用数组字面量创建

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

问题2:请看下边代码;

webp

这样操作的结果?


webp

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

问题3:请看下边代码:

webp

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

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

问题4:看下边代码

webp

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

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

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

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



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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP