Использование переменной внутри литерала - PullRequest
1 голос
/ 09 декабря 2011

В моем коде мне нужно объявить notationArr 1 , но я получаю эту ошибку: Ошибка # 1010: термин не определен и не имеет свойств.

if ((notationArr[1].length == 2) && ((notationArr[1].charCodeAt(0) >= 97) && notationArr[1].charCodeAt(0) <= 104) && ((notationArr[1].charCodeAt(1) >= 49) && notationArr[1].charCodeAt(1) <= 56)) {
    if (pieces.d3.man == "") {
        pieces.notationArr[1].man.y = pieces.d4.y;

    }
}

Здесь кусочки - это объект.

Редактировать: больше код: http://sudrap.org/paste/text/44915/

1 Ответ

2 голосов
/ 09 декабря 2011

Одна из многих переменных в вашем маленьком фрагменте кода не была должным образом объявлена ​​и / или инициализирована.Вы можете получить доступ только к свойствам или методам (каждый раз, когда вы пишете something.something, это часть после.) В существующих объектах, но не в том случае, если переменная, к которой вы пытаетесь обратиться, содержит null.

РЕДАКТИРОВАТЬ

Прочитав ваш более длинный фрагмент кода, может быть несколько null переменных, но ваша проблема, вероятно, в том, что @AsTheWormTurns упомянул в своем комментарии выше:

pieces.notationArr[1].man

попытается получить доступ к массиву с именем notationArr, который является членом по частям вместо , используя оценку содержимого notationArr [1] , чтобы найтикакой член штук для доступа.Должно быть:

pieces[notationArr[1]].man
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...