บทเรียนส่วนใหญ่ที่ฉันได้อ่านในอาร์เรย์ใน JavaScript (รวมถึงw3schoolsและdevguru ) แนะนำว่าคุณสามารถเริ่มต้นอาร์เรย์ด้วยความยาวที่แน่นอนโดยส่งจำนวนเต็มไปยังตัวสร้าง Array โดยใช้var test = new Array(4);
ไวยากรณ์
หลังจากใช้ซินแท็กซ์นี้อย่างอิสระในไฟล์ js ของฉันฉันรันหนึ่งในไฟล์ผ่านjsLintและทำให้เป็นอิสระ:
ข้อผิดพลาด: ปัญหาที่บรรทัด 1 อักขระ 22: คาดว่า ')' และเห็น '4' แทน
var test = อาร์เรย์ใหม่ (4);
ปัญหาที่บรรทัดที่ 1 อักขระ 23: คาดหวัง ';' และแทนที่จะเห็น ')'
var test = อาร์เรย์ใหม่ (4);
ปัญหาที่บรรทัดที่ 1 อักขระ 23: ต้องการตัวระบุและแทนที่จะเห็น ')'
หลังจากอ่านคำอธิบายของ jsLint เกี่ยวกับพฤติกรรมของมันดูเหมือนว่า jsLint ไม่ชอบnew Array()
ไวยากรณ์และชอบ[]
เมื่อประกาศอาร์เรย์
ดังนั้นฉันมีคำถามสองสามข้อ:
ก่อนอื่นทำไม ฉันใช้ความเสี่ยงใด ๆ โดยใช้new Array()
ไวยากรณ์แทนหรือไม่ เบราว์เซอร์ที่ฉันควรทราบมีความเข้ากันไม่ได้หรือไม่
และที่สองถ้าฉันสลับไปที่ไวยากรณ์ของวงเล็บเหลี่ยมจะมีวิธีใดที่จะประกาศอาร์เรย์และตั้งค่าความยาวทั้งหมดในหนึ่งบรรทัดหรือฉันต้องทำอะไรแบบนี้:
var test = [];
test.length = 4;
new Array()
ในทั่วไป แต่ก็โอเคที่มีขนาดที่ระบุ ฉันคิดว่ามันสอดคล้องกับบริบทของโค้ดทั้งหมด