申明:本文是js系列筆記之一,僅供學(xué)習(xí)參考;
創(chuàng)建數(shù)組的3種方式:
1. ?
2.
3.
問題1:js數(shù)組與其他強(qiáng)類型語(yǔ)言的數(shù)組不同,在一個(gè)數(shù)組中可以存放不同類型的變量;這為程序設(shè)計(jì)帶來了便利,也帶來了許多問題;有利于構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),卻不利于維護(hù),同時(shí)由于這種靈活性可能會(huì)帶來意想不到的問題;
問題2:請(qǐng)看下邊代碼;
問題3:請(qǐng)看下邊代碼:
這種情況在ie8及之前版本會(huì)創(chuàng)建出一個(gè)3項(xiàng)的數(shù)組分別是:1,2,undefined;在其他 瀏覽器會(huì)變成一個(gè)包含兩項(xiàng)的數(shù)組:1,2;
問題4:看下邊代碼
這種情況在在ie8及更早版本中會(huì)創(chuàng)建出5項(xiàng)數(shù)組,數(shù)組元素都為undefined;在ie9,firefox,opera,safari,chrome中會(huì)創(chuàng)建出4項(xiàng)的數(shù)組,每項(xiàng)元素都為undefined;
由以上幾個(gè)問題,可以得到:在使用數(shù)組的時(shí)候嚴(yán)格按照創(chuàng)建數(shù)組的3種方式中的一種去創(chuàng)建數(shù)組,在數(shù)組元素項(xiàng)末不要多加額外的都逗號(hào),創(chuàng)建需要長(zhǎng)度的數(shù)組,中間最好不要留逗號(hào);否則會(huì)引發(fā)js的兼容問題;
關(guān)于js的兼容問題,面試有好多人會(huì)問,而且答案會(huì)千奇百怪,可能沒有一個(gè)面試官滿意的答案;但是我的理解是:js的兼容問題非常多,涉及的面也很廣,如果非要列舉其兼容問題,足足可以寫幾本書都不一定能寫完,如上述在數(shù)組的使用上就發(fā)生了很多兼容性問題;