Почему мой объект объявлен, но никогда не читается (внутри функции)? - PullRequest
0 голосов
/ 30 апреля 2019

Я довольно новичок в Javascript.Я только начал возиться с этим пару месяцев назад, и я столкнулся с ошибкой, которую я не могу обойти.

Я пытаюсь сделать так, чтобы при нажатии кнопкисоздается объект (thisObject), в котором хранятся 4 параметра - курс, оценка, парс и пташки.

Я пытался создать объект с использованием синтаксиса фигурных скобок, но по какой-то причине VSCode выдает мне это сообщение об ошибкекогда я наведите курсор на переменную, которой я назначил объект: «thisObject объявлен, но его значение никогда не читается».

$(enter).click(appendScore);

    function appendScore(){
    event.preventDefault();

    if (scoreText.value==""){
        $('.errorMessage').show();

    }
    else{
        event.preventDefault();
        $('.scoresContainer').append(scoreText.value + ', ');
        scoreForm.reset();
        $('.errorMessage').hide();
        var thisObject = {course: courseSelect.value, score: scoreText.value, pars: parsText.value, birdies: birdiesText.value};
        }
    }

Это приводит к тому, что страница не может определить thisObject.Я ожидаю, что он создаст объект с 4 параметрами, состоящими из баллов, пар и пташек.Что здесь происходит?

1 Ответ

1 голос
/ 30 апреля 2019

Поскольку вы определяете thisObject в функции обработчик appendScore, она не будет доступна где-либо еще. Вы должны были бы объявить это в глобальной (или включающей) области видимости. (Также обратите внимание, что appendScore должен принимать параметр event, чтобы event.preventDefault работал):

var thisObject;
$(enter).click(appendScore);

function appendScore(event) {
    event.preventDefault();
    //...
    thisObject = {course: courseSelect.value, score: scoreText.value, pars: parsText.value, birdies: birdiesText.value};
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...