首页 > 解决方案 > 检测列表中是否未定义变量

问题描述

刚刚学习了 JS 并编写了一个函数并对其进行了测试以添加一个 todo 并显示它,我们注意到当我们实际输入一个新的 todo 时该函数运行良好,例如:

addTodo('做某事')

正如预期的那样,这增​​加了“做某事”以结束丢失的待办事项。

当我们错误地只输入了函数,括号中没有任何内容时,我们注意到我们的待办事项列表中添加了一个“未定义”元素。它看起来像这样: ["item 1", "item 2", "item 3", "do something", undefined ]

积极主动并希望避免不必要地将 undefined 添加到列表中,我们决定偏离路线并添加一些错误处理或至少添加一个 if 语句,以至少向我们发送一个提醒,我们需要在括号中输入一个值。这就是我们开始难过的地方。

到目前为止,在 if 语句中,这就是我们所拥有的,这就是我们被难住的地方。

在这种情况下,我们如何正确使用 if 语句?

if (typeof addTodo === "undefined") 
{console.log('you need to add a todo sir!');} 
else { 
function addTodo(newTodo) 
{ todos.push(newTodo); console.log(todos); }}

标签: javascript

解决方案


无论您的函数可以在哪里传递值,都调用该函数:

function addTodo(newTodo) {
   if (typeof newTodo === "undefined"){
      console.log("you need to add a todo sir!");
   } else {
      todos.push(newTodo);
      console.log(todos);
   }
}

推荐阅读