javascript - 如何修复未捕获的 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(); 显示待办事项列表,但收到上述错误。
解决方案
问题是您的displayTodos()
函数未在全局范围内定义,您需要改用它:
todoList.displayTodos();
推荐阅读
- c# - .net core 2.1 log4net 与多个环境
- python-2.7 - pygame,python 2.7中的组合框
- c# - C# Web API - 通过客户端证书对用户进行身份验证
- android - 在 React Native 项目中使用 java 库的方法是什么?
- assembly - 给定序列的一条 ASM 指令
- amazon-web-services - AWS CLI 仅删除元数据
- jdbc - 无法通过 JDBC 将 h2o 连接到数据库
- css - 无法获得输入以在 Bootstrap 4 列中垂直居中对齐
- python - windows/anaconda命令提示符之间的python 3 imaplib不同
- javascript - 在 Swift 中使用 JS 隐藏 WKWebView 集合元素