У меня странное поведение с простой функцией в javascript. Я пишу в матрице, но когда я читаю ее снова, я не вижу изменений. Может кто-нибудь объяснить мне почему? Вот код:Переменная Javascript не написана
this.map = [
'## ### ##',
'# # #',
'# # . # #',
'# ## # #',
'## # #',
'#*# ## ##',
' ## ',
'#########'
];
this.check_collision = function (x, y) {
var l = Math.floor (y/this.tile_size);
var c = Math.floor (x/this.tile_size);
if (this.map[ l ] != undefined) {
if (this.map[ l ][ c ] != undefined) {
if (this.map[ l ][ c ] == '#') {
return true;
}
else if (this.map[ l ][ c ] == '.' || this.map[ l ][ c ] == '*') {
this.map[ l ][ c ] = ' ';
console.debug ("'" + this.map[ l ][ c ] + "'");
}
}
}
return false;
};
console.debug() печатает '' или '*', но я пишу char '' строку выше
Тест 'alert' вместо' console.debug'. Вы все еще получаете тот же результат? –
есть. тот же результат –
[образец кода] (http://sscce.org/) является неполным. Что на самом деле хранится в 'this.map [l]'? Если это строка, строки неизменяемы. – outis