Не удается получить доступ к общедоступной переменной в общедоступном методе?

Возможный дубликат:
Объект JS this.method () прерывается через jQuery

Привет,

Я играю с созданием классов в javascript, но не думаю, что действительно все понимаю.

Вот некоторый (упрощенный) код, который я написал (.bind () происходит от jQuery 1.4.1):

function MyClass(size)
{
    this.myList = new Array(size);
    for (var i = 0; i < size; i++)
    {
        this.myList[i] = "Test " + i;
    }
}

MyClass.prototype.InitCells = function()
{
    $('#grid tbody tr td').bind('click', this.GetValue);
}

MyClass.prototype.GetValue = function()
{
    alert(this.myList[1]);
}

Затем я делаю это в своем HTML-файле:

var test = new MyClass(10);
test.InitCells();

Затем, когда я нажимаю на один из <td>, я получаю эту ошибку: 'this.myList имеет значение null или не является объектом'

Что мне нужно сделать, чтобы получить доступ к myList в методе GetValue?


person Kristof Claes    schedule 16.02.2010    source источник
comment
Похоже, этот вопрос задают каждый день - краткий ответ: вы неправильно понимаете, как функции и объект контекста (this) работают в JavaScript. Более подробный ответ см .: stackoverflow.com/questions/1544735/ (выбрано случайным образом).   -  person Shog9    schedule 16.02.2010