Uncaught ReferenceError: displayTodos не определен в :1:1
var todoList = {
todos: [],
displayTodos: function() {
if (this.todos.length === 0) {
console.info('You have nothing todo!');
} else {
console.info('My Todos:');
for (var i = 0; i < this.todos.length; i++) {
console.info(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(); для отображения списка дел, но я получаю сообщение об ошибке выше.
То же самое, я успешно запустил этот код. Рекомендую посмотреть окружающий код на наличие синтаксической ошибки.
Пожалуйста, включите код, который вы используете для вызова объекта.
Это код Sencha или какой-то другой UI Framework? Вы должны показать, как вы используете этот объект. Это не обязательно относится к объекту при передаче функции в качестве параметра другой функции.
todos — это не переменная, это свойство объекта todoList. Вы получаете к нему доступ с помощью todoList.displayTodos().
отображатьТодос();
отображатьТодос();
Вы не можете просто вызвать displayTodos(). Он является членом todoList. Вы должны вызвать todoList.displayTodos().
спасибо @ Скотт Маркус. Это ошибка новичка. Впредь буду осторожнее.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема в том, что ваша функция displayTodos() не определена в глобальной области видимости, вместо этого вам нужно использовать это:
todoList.displayTodos();
:) хороший звонок, я думаю, мы все предполагаем, что люди знают об этом. Вполне может быть ошибка.
когда я работал директором по технологиям в довольно крупной компании, я научился не считать, что люди не делают элементарных ошибок :)
Не могу воспроизвести. Укажите минимальный воспроизводимый пример.