Почему переменные, заданные при загрузке страницы, недоступны в области действия document.ready? - PullRequest
0 голосов
/ 14 мая 2010

У меня есть включенный файл javascript, который инициализирует пустой объект массива под названием «widgets»

var Widgets = {};

function Widget(a,b,c){
this.a = a;
...
}

в том же ключе определено множество прототипов функций для добавления информации о виджете в виджет:

Widget.prototype.addWidgetInfo(a,b,c){
 this.info.a = a;
 this.info.b = b;
 ...
}

есть также ряд функций, которые поддерживают блок document.ready () {} в конце файла.

в теле страницы, для каждого выведенного виджета выводится строка js, а также вызывается эта функция-прототип

Widgets[id] = new Widget();
Widgets[id].addwidgetInfo("bla","bla","bla");

Когда готовый документ вызывает, однако

Виджеты [id] .info - пустой массив ....

Я не могу понять, почему на земле эти данные недоступны! пожалуйста помогите

1 Ответ

2 голосов
/ 15 мая 2010

В приведенном примере есть несколько ошибок. Я не уверен, что это ваша проблема, или просто проблема в вашем примере:

  • addWidgetInfo объявлено неправильно. Должно быть:

    Widget.prototype.addWidgetInfo = function(a,b,c){
    
  • this.info не инициализирован. Должно быть

    Widget.prototype.addWidgetInfo = function(a,b,c){
        this.info = {};
        this.info.a = a;
        ...
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...