簡體   English   中英

已聲明變量但從未讀取其值 JavaScript

[英]Variable is declared but its value is never read JavaScript

我的目標是讓此模式中的關閉按鈕保持輸入與之前按下保存按鈕時的狀態相同。 當我單擊“取消”按鈕時,它已經保存了值並重置它們,但我的變量“已保存”已聲明,即使我在函數中使用它,它也會向我顯示此錯誤並且不執行我想要的操作。

import {
    getInput, setInput
} from '../../service/data'

let close = document.getElementById('advsettings_close');
let cancel = document.getElementById('advsettings_cancel');
let save = document.getElementById('advsettings_save');
const settingsForm = document.getElementById('advsettings_form');
const settingsSliders = settingsForm.querySelectorAll('input');
var saved = false;


cancel.addEventListener('click', function() {
    cancelSettings();
});

save.addEventListener('click', function() {
    saveSettings();
});

close.addEventListener('click', function() {
    closeSettings();
});

settingsForm.addEventListener('submit', function (event){
    event.preventDefault();
});

function cancelSettings(){
    settingsSliders.forEach(function(input) {
         input.value = 5;
        console.log('Values canceled and reset');

    });
    saved = false;
}

function saveSettings(){
    settingsSliders.forEach(function(input) {
        if (input.type === 'range') {
            setInput(input.name, input.value);
            console.log('Save Value of ' + input.name + ':', input.value);
        }
    });
    saved = true;
}

function closeSettings(){
    settingsSliders.forEach(function(input) {
        if (saved = true){
            input.value = setInput(input.name, getInput(input.value));
        } else if(saved = false) {
            input.value = 5;
        }
    });
}

if 條件中有一個錯誤:

function closeSettings(){
  settingsSliders.forEach(function(input) {
    if (saved == true){
        input.value = setInput(input.name, getInput(input.value));
    } else if(saved == false) {
        input.value = 5;
    }
 }

此外,最好將條件直接評估為布爾值:

function closeSettings(){
  settingsSliders.forEach(function(input) {
    if (saved){
        input.value = setInput(input.name, getInput(input.value));
    } else{
        input.value = 5;
    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM