У меня есть следующий объект:Убедитесь, что это относится к объекту
dog = {
location: {
x: 52.1089,
y: 16.2323
},
f: function(message) {
alert(message + this.location.x);
return;
}
};
Теперь мне нужно, чтобы начать прохождение функции dog.f
к API в различных контекстах. Моя проблема заключается в том, что не всегда ссылается на мой объект, но на разные вещи в зависимости от того, как он называется. Как я могу получить доступ к таким свойствам, как location
внутри функции f
?
EDIT: Я действительно хочу только метод f
, но я не хочу инициализировать местоположение внутри f
для каждого вызова функции, поэтому я думал, что объект будет лучшей идеей. Это была моя первая попытка:
var f = function(message) {
var location: {
x: 52.1089,
y: 16.2323
}
alert(message + location.x);
return;
}
но выглядит бесполезно для определения местоположения при каждом вызове функции.
EDIT 2: Я открыт для решения CoffeeScript
Я предлагаю спиннинг через некоторые учебники JS ООП; похоже, вы хотите подражать классу. –
Да, см. Мое редактирование. Я хочу функцию с состоянием, но я думал, что класс будет излишним, и объект будет делать. – Elian
У CoffeeScript есть запеченные классы, я не возражаю против его использования. –