Использование концепции OO в jQuery, использование функции () и создание массива структуры


Это касается использования понятий OO в jQuery.

Я хочу создать массив структур в jQuery, чтобы я мог сохранить символ и целое число в одном и том же элементе массива.

Я хочу хранить 'Y' и 2 в каждом элементе массива, так что я могу изменить значение целого числа на основе того, является ли значение символа 'Y'.

У меня есть следующий код

        var arrOfArr = new Array(3);
        for (var x = 0; x < arrOfArr.length; x++) {
            arrOfArr[x] = [new struct('Y', 0),new struct('Y', 0),new struct('Y', 0)];
        }

        function struct($user, $turnCount) {
            var user = $user;
            var turnCount = $turnCount;
        }
Теперь, когда я призываю alert(arrOfArr[0][0].turnCount), это дает undefined. Но если я определяю arrOfArr[0][0].turnCount = 0 и снова вызываю ту же тревогу это дает мне 0.

Не могли бы вы помочь мне понять, как я могу инициализировать массив структур во время инициализации?

2 2

2 ответа:

var user

И

var turnCount

Являются частными переменными для структуры scope

Попробуйте использовать

this.user = $user;
this.turnCount = $turncount;

Вы присваиваете локальные переменные вместо свойств экземпляра в конструкторе.

Попробуйте написать:

function struct($user, $turnCount) {
    this.user = $user;
    this.turnCount = $turnCount;
}