मैं कैनवास टैग के साथ जावास्क्रिप्ट गेम बना रहा हूं, और मैं प्लेयर की स्थिति अपडेट करने के लिए लूप के लिए एक उन्नत का उपयोग कर रहा हूं।जावास्क्रिप्ट में अजीब व्यवहार ... लूप
संक्षेप में:
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;
}
}
बस के बाहर की स्थिति 1 पर पाश के लिए, मैं के अभिनेताओं [0] .xvel सही मान पहुँच सकते हैं। स्थिति 2 पर लूप के अंदर, a.xvel अपरिभाषित है। क्या कोई मुझे बता सकता है कि क्या हो रहा है?
कृपया यह प्रश्न भी देखें http://stackoverflow.com/questions/1886179/why-does-javascript-turn-array-indexes-into-strings-when-iterating/1886259#1886259 – pramodc84
[के लिए उपयोग न करें सभी में सरणी के लिए-लूप] (http://stackoverflow.com/q/500504/1048572) – Bergi