为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JavaScript

申明:本文是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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消