Моя переменная 'todoList' отображается как неопределенная. Я очень новичок в javascript и программировании в целом. любая помощь будет очень признательна!javascript: undefined variable
var todoList = {
todos:[],
displayTodos: function() {
if (this.todos.length === 0) {
console.log ('Your todos list is empty!');
} else {
console.log('My Todos:');
for (var i = 0; i < this.todos.length; i++) {
if (this.todos[i].completed === true) {
console.log ('(x)', this.todos[i].todoText);
} else {
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();
},
toggleAll: function() {
var totalTodos = this.todos.length;
var completedTodos = 0;
for (var i = 0; i < totalTodos; i++) {
if(this.todos[i].completed === true) {
completedTodos++;
}
}
if (completedTodos === totalTodos) {
for(var i =0; i < totalTodos; i++) {
this.todos[i].completed === false;
}
}
this.displayTodos;
}
};
Ваш код для объявления и присвоения 'todoList' выглядит отлично. Вам нужно будет предоставить более подробную информацию о том, где в вашем коде переменная 'undefined'. – smaili
попытайтесь добавить '&&! This.todos [i] .todoText' на ваш' if (this.todos [i] .completed === true) ' –
Возможно, вы пытаетесь получить доступ к объекту todoList из более высокой области видимости, поэтому todoList не отображается, поэтому не определено. –