Можно создать дубликат:
Why doesn't this closure have access to the 'this' keyword? - jQuery
function class1() {
this.url = 'http://en.wikiquote.org/w/api.php?action=query&format=json&prop=revisions&titles=Albert_Einstein&rvprop=content&callback=?';
this.f = function() {
$.getJSON(this.url, function() {
console.log(this.url);
});
}
};
var obj = new class1();
obj.f();
Вместо печати URL, obj.f()
печатает "неопределенные" на консоль. Почему это происходит и что я могу сделать, чтобы предотвратить это поведение?
, но теперь 'url' является приватным –
Правда, я собирался обновить свой ответ, чтобы быть более похожим на ваш, но тогда он будет вашим ... так что это остается вариантом. – Jasper
достаточно справедливо. Возможно, вы захотите добавить редактирование, которое будет работать, если OP не возражает против того, что URL-адрес больше не является общедоступным. –