Tôi đang tạo trò chơi Javascript với thẻ canvas và tôi đang sử dụng vòng lặp nâng cao để cập nhật vị trí trình phát.Hành vi lạ trong Javascript được tăng cường cho ... trong vòng lặp
Tóm lại:
var actors = new Array();
var player = new Actor(0, 0, img);
actors[0] = player;
function update_positions() {
//position 1
for(var a in actors) {
//position2
a.xpos += a.xvel;
a.ypos += a.yvel;
}
}
Ngay bên ngoài của vòng lặp for ở vị trí 1, tôi có thể truy cập vào các giá trị chính xác của diễn viên [0] .xvel. Bên trong vòng lặp for tại vị trí 2, a.xvel không xác định. Ai đó có thể giải thích cho tôi điều gì đang xảy ra?
Vui lòng xem câu hỏi này cũng http://stackoverflow.com/questions/1886179/why-does-javascript-turn-array-indexes-into-strings-when-iterating/1886259#1886259 – pramodc84
[Không sử dụng cho -in-vòng cho mảng ở tất cả] (http://stackoverflow.com/q/500504/1048572) – Bergi