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