Неперехваченная ошибка ссылки: finalStr не определен

#javascript

#javascript

Вопрос:

Я очень новичок в JS, и я столкнулся с одной проблемой с глобальной переменной. Ниже приведено то, что я пытаюсь сделать, но во время выполнения выдается ошибка «Неперехваченная ошибка ссылки: finalStr не определен». Ниже приведен мой код:

 finalStr: '',
    getStatus: function (ConditionTrue) {
                str = '';

    if (data) {
        switch (ConditionTrue) {
            case UPLOADED:
                str = '* '   FileName   ' has been uploaded at '   Date;
                finalStr = finalStr   'n'   str   " ";
                break;
            case CHECKS:
                str = '* '   FileName   ' failed'   Date   'n'   Comments;
                finalStr = finalStr   'n'   str   " ";
                break;
            case VALIDATION:
                str = '* '   FileName   ' has been uploaded at '   Date   'n'  '* Validating';
                finalStr = finalStr   'n'   str   " ";
                break;

            default:
                str = str   'n'   Comments ? Comments : Date   ' '   FileName   ' '   Status;
                finalStr = finalStr   'n'   str   " ";
            break;
        }
    }
    area.setValue(finalStr); ---> Giving error here -  Uncaught ReferenceError: finalStr is not defined

},
 

Комментарии:

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

2. Вы вставили неполный код. Что area , что setValue , где определена эта глобальная переменная? Соответствующие фрагменты отсутствуют.

3. @Dario Не могли бы вы дать мне синтаксис этой строки: finalStr = finalStr ‘n’ str » «; строка? Должно ли это быть так.finalStr = this.finalStr ‘n’ str » «; ? и area.setValue(this.finalStr); Я хотел сохранить это как глобальную переменную, поэтому оставил это как вне метода

4. Похоже finalStr , это свойство вашего объекта, того же объекта с методом GetStatus. В этом смысле это не глобальная переменная, к которой необходимо обращаться this.finalStr . Если вам нужна глобальная переменная, просто объявите ее вне вашего объекта var finalStr = '' , и тогда вы сможете избежать использования this. .

Ответ №1:

Похоже, что вам нужно ссылаться finalStr на as this.finalStr .

Комментарии:

1. Не могли бы вы, пожалуйста, дать мне синтаксис finalStr = finalStr ‘n’ str » «; строка? Должно ли это быть так.finalStr = this.finalStr ‘n’ str » «; ? Я хотел сохранить это как глобальную переменную, поэтому оставил это вне области действия метода.