如果输入值为空或null,如何防止函数运行?香草JavaScript

如果输入值为空或null,如何防止函数运行?香草JavaScript,javascript,Javascript,如果保存为变量“x”的用户输入不为空或null,我希望此列表仅添加列表项并更新计数。但是,无论输入值是什么,addNewItem()和updateCount()函数似乎都在运行 const title = document.getElementById('title'); const list = document.getElementById('list'); const input = document.getElementById('todoInput'); const add = d

如果保存为变量“x”的用户输入不为空或null,我希望此列表仅添加列表项并更新计数。但是,无论输入值是什么,addNewItem()和updateCount()函数似乎都在运行



const title = document.getElementById('title');
const list = document.getElementById('list');
const input = document.getElementById('todoInput');
const add = document.getElementById('add')


function todoList() {
  var x = document.querySelector('#todoInput').value;
  
  function checkInput(){
    if (x == null || x == "") {
        var p = document.createElement("P")
        var emptyError = document.createTextNode("Please enter something for the list");
        document.querySelector('#message').appendChild(emptyError);
            }
        }
  checkInput();


    
    function removeMsg() {
        const elems = document.querySelector('#message');
            setTimeout(function() {
                document.querySelector("#message").innerHTML = "";
        }, 4000);
      }
    removeMsg();
    
    if (x !== null || x !== "") {
        function addNewItem() {
                console.log('something');
                const item = input.value;
                const text = document.createTextNode(item);
                const newItem = document.createElement('li');
                const check = document.createElement('span');
                check.className = 'circle';
                newItem.appendChild(check);
                newItem.appendChild(text);
                list.appendChild(newItem);
                input.value = '';
                
            }   
        addNewItem();

        function updateCount() {
                const count = list.childElementCount;
                title.innerHTML = `You have ${count} to-dos.`;
            }

        updateCount();
    
        }
    }

todoList();

您可以使用
检查(x!=null&&x!=“”)
以检查空值或空值。但是,您也可以这样做:

if(x)


这将确保x的值不仅非空且不为null,还将检查所有虚假值,如
NaN
未定义的
等,并且仅传递真实值。

x!==空| | x!==“
将始终计算为
true
the&&修复它!非常感谢,这让我发疯了!我建议用简短的if(x)检查
。此外,它还将防止其他虚假的价值观。但是请记住,
0
也是一个错误的值。