【问题标题】:Variable is declared but its value is never read JavaScript变量已声明但其值从未被读取 JavaScript
【发布时间】:2019-10-11 09:21:59
【问题描述】:

我的目标是让此模式中的“关闭”按钮保持之前按下“保存”按钮时的输入状态。当我单击“取消”按钮时,它已经保存了值并重置它们,但我的变量“已保存”已声明,即使我在函数中使用它,它也会向我显示此错误并且没有执行我想要的操作。

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;
        }
    });
}

【问题讨论】:

    标签: javascript function variables input slider


    【解决方案1】:

    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;
        }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-10
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 2020-01-08
      • 2018-10-05
      相关资源
      最近更新 更多