Foo - это функция с открытым членом, называемым списком. Он имеет функцию открытого участника, называемую setList. Я хочу иметь возможность редактировать список из setList. Я могу это сделать? Я попытался несколько вещей, но мне не удалось даже получить доступ к списку из setList.Функция члена функции доступа от функции-члена
var Foo = function Foo() {
this.list = ["a", "b", "c"];
this.setList = function(data) {
// Attempt 1
console.log(list); // Uncaught ReferenceError: list is not defined
// Attempt 2
console.log(this.list); // undefined
// Attempt 3
console.log(Foo.list); // undefined
}
}
Я все еще считаю JS вне, поэтому, пожалуйста, простите меня, если я вызвал что-то по неправильному имени.
Как вы называете этот код? Кроме того, почему вы используете именованное закрытие как конструктор? –
Значение 'this' определяется * как функция вызывается *. Не зная, как вы называете 'setList', мы не можем вам помочь. Предполагая, что вы все делаете правильно, 'this.list' должен работать. Возможно, посмотрите [MDN - Введение в объектно-ориентированный JavaScript] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript). –