Hầu hết các hướng dẫn mà tôi đã đọc về mảng trong JavaScript (bao gồm w3schools và devguru ) đề nghị bạn có thể khởi tạo một mảng với độ dài nhất định bằng cách chuyển một số nguyên cho hàm tạo Array bằng var test = new Array(4);
cú pháp.
Sau khi sử dụng cú pháp này một cách tự do trong các tệp js của tôi, tôi đã chạy một trong các tệp thông qua jsLint và nó bị lỗi:
Lỗi: Sự cố ở dòng 1 ký tự 22: Dự kiến ')' và thay vào đó đã thấy '4'.
kiểm tra var = mảng mới (4);
Vấn đề ở dòng 1 ký tự 23: Dự kiến ';' và thay vào đó đã thấy ')'.
kiểm tra var = mảng mới (4);
Sự cố ở dòng 1 ký tự 23: Dự kiến một mã định danh và thay vào đó đã thấy ')'.
Sau khi đọc qua lời giải thích của jsLint về hành vi của nó , có vẻ như jsLint không thực sự thích new Array()
cú pháp, và thay vào đó thích []
khi khai báo mảng.
Vì vậy, tôi có một vài câu hỏi:
Đầu tiên, tại sao? Tôi có đang chạy bất kỳ rủi ro bằng cách sử dụng new Array()
cú pháp thay thế? Có sự không tương thích trình duyệt mà tôi nên biết?
Và thứ hai, nếu tôi chuyển sang cú pháp dấu ngoặc vuông, có cách nào để khai báo một mảng và đặt tất cả độ dài của nó trên một dòng hay tôi phải làm một cái gì đó như thế này:
var test = [];
test.length = 4;
new Array()
nói chung, nhưng không sao với quy định cụ thể kích thước. Tôi nghĩ rằng tất cả bắt nguồn từ tính nhất quán của mã thông qua toàn bộ bối cảnh.