如何修复未捕获的javaScript referenceError?

时间:2019-01-29 22:18:08

标签: javascript

未捕获的ReferenceError:未定义displayTodos     在:1:1

var todoList = {
  todos: [],
  displayTodos: function() {
    if (this.todos.length === 0) {
      console.log('You have nothing todo!');
    } else {
      console.log('My Todos:');
      for (var i = 0; i < this.todos.length; i++) {
        console.log(this.todos[i].todoText);
      }
    }
  },
  addTodo: function(todoText) {
    this.todos.push({
      todoText: todoText,
      completed: false
    });
    this.displayTodos();
  },
  changeTodo: function(position, todoText) {
    this.todos[position].todoText = todoText;
    this.displayTodos();
  },
  deleteTodo: function(position) {
    this.todos.splice(position, 1);
    this.displayTodos();
  },
  toggleCompleted: function(position) {
    var todo = this.todos[position];
    todo.completed = !todo.completed;
    this.displayTodos();
  }
};

预期的displayTodos();显示待办事项清单,但收到上述错误。

1 个答案:

答案 0 :(得分:3)

问题是您的displayTodos()函数未在全局范围内定义,您需要改用此函数:

todoList.displayTodos();