Я впервые использую объекты JS, и меня смущает вопрос, почему это свойство всегда неопределено:
function Rotator() {
this.interval = 300;
this.image = 0;
this.images = undefined;
}
Rotator.prototype.Fetch = function(links) {
console.log("Fetch called");
this.images = links;
}
Rotator.prototype.Current = function() {
if (this.images == undefined) {
console.log("Error, images is undefined");
}
return this.images[this.image];
}
r = new Rotator;
$.getJSON("./data.php", function (data) {
r.Fetch(data.images);
});
console.log(r.Current());
Я получаю ошибку:
Uncaught TypeError: Невозможно прочитать свойство '0' из неопределенного
Возвращенный JSON работает нормально, и выборка помечается как вызванная в консоли (при регистрации также хорошо обрабатываются данные).Почему Rotator.images всегда не определен?
Редактировать: Некоторые результаты console.log:
- Запись
data.images
в $.getJSON
приводит к правильным данным. - Запись
links
в Fetch
приводит к правильным данным. - Запись
this.images
в Fetch
приводит к правильным данным. - Запись
this.images
в Current
приводит к нулю.