Как изменить логическое значение в JavaScript? - PullRequest
0 голосов
/ 01 июня 2019

Я хочу, чтобы когда мой сайт впервые загружался, чтобы значение было ложным, но когда нажата кнопка, я хочу, чтобы оно обновило значение, чтобы оно стало истинным.

Что я пробовал до сих пор:

Для HTML

<button onclick="button1()"></button>

Для JavaScript

let button1pressed = false;

function button1(){
  button1pressed = true;
}

Но проблема в том, что впоследствии у меня есть оператор if

if(button1pressed === true) {
console.log('The value is now true');
}

Однако сообщение не регистрируется в консоли.

Как мне решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 01 июня 2019

Необходимо переместить условие внутри функции события, потому что код оценивается позже и при запуске значение равно false.

function button1(){
    if (!button1pressed) {
        button1pressed = true;
        console.log('The value is now true');
    }
}

let button1pressed = false;
<button onclick="button1()">click</button>

Другой подход заключается в использовании интервала с проверкой и получении сообщения только один раз.

function button1(){
    button1pressed = true;
}

let button1pressed = false,
    interval = setInterval(function () {
        if (button1pressed) {
            console.log('The value is now true');
            clearInterval(interval);
        }
    }, 1000);
<button onclick="button1()">click</button>
0 голосов
/ 01 июня 2019

Вы можете получить значение в журнале, попробуйте это:

let button1pressed = false;  

function button1(){
button1pressed = true;

    console.log("The value is now: "+ button1pressed);
}
<button onclick="button1()">click</button>
...