Вопросы с тегом «this»

Ключевое слово, которое относится к текущему экземпляру класса или объекту во многих объектно-ориентированных языках программирования.

1425
Как получить доступ к правильному `this` внутри обратного вызова?

У меня есть функция конструктора, которая регистрирует обработчик событий: function MyConstructor(data, transport) { this.data = data; transport.on('data', function () { alert(this.data); }); } // Mock transport object var transport = { on: function(event, callback) { setTimeout(callback, 1000); }...

1310
Как работает это ключевое слово?

На этот вопрос есть ответы на Stack Overflow на русском : Потеря контекста вызова Я заметил, что нет четкого объяснения того, что такое thisключевое слово и как оно правильно (и неправильно) используется в JavaScript на сайте переполнения стека. Я был свидетелем очень странного поведения с ним и...

1027
'this' vs $ scope в контроллерах AngularJS

В разделе «Создание компонентов» на домашней странице AngularJS есть следующий пример: controller: function($scope, $element) { var panes = $scope.panes = []; $scope.select = function(pane) { angular.forEach(panes, function(pane) { pane.selected = false; }); pane.selected = true; } this.addPane =...

567
В чем разница между «$ (это)» и «это»?

В настоящее время я работаю над этим учебником: Начало работы с jQuery Для двух примеров ниже: $("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); }); Обратите внимание, что в первом...

269
Когда я должен использовать «это» в классе?

Я знаю, что thisотносится к текущему объекту. Но я не знаю, когда мне действительно нужно это использовать. Например, будет ли разница, если я буду использовать xвместо this.xнекоторых методов? Может быть, xбудет ссылаться на переменную, которая является локальной для рассматриваемого метода? Я...

265
Когда вызывать контекст активности или контекст приложения?

Там было много сообщений о том, что эти два контекста .. Но я все еще не совсем понял Как я понимаю до сих пор: каждый является экземпляром своего класса, что означает, что некоторые программисты рекомендуют использовать его this.getApplicationContext()как можно чаще, чтобы не «вытекать» из памяти....

251
Передать правильный контекст this для обратного вызова setTimeout?

Как передать контекст в setTimeout? Я хочу позвонить, this.tip.destroy()если this.options.destroyOnHideпосле 1000 мс. Как я могу это сделать? if (this.options.destroyOnHide) { setTimeout(function() { this.tip.destroy() }, 1000); } Когда я пытаюсь выше, thisотносится к...

249
Когда вы используете ключевое слово «это»? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

213
Как передать контекст this функции?

Я думал, что это будет то, что я мог бы легко гуглить, но, возможно, я не задаю правильный вопрос ... Как мне установить, что "это" ссылается в данной функции JavaScript? например, как с большинством функций jQuery, таких как: $(selector).each(function() { //$(this) gives me access to whatever...

183
Почему «это» указатель, а не ссылка?

Я читал ответы на этот вопрос плюсы и минусы C ++ и получил это сомнение, читая комментарии. Программисты часто путают, что «это» - указатель, а не ссылка. Другая путаница заключается в том, что «hello» не относится к типу std :: string, а вычисляется как char const * (указатель) (после...

157
Разница между $ (this) и event.target?

Я новичок в jQuery, и делал панели с вкладками, следуя учебному пособию по JavaScript и jQuery: The Missing Manual , есть первая строка, когда автор делает это: var target = $(this); Но я пытался сделать это таким образом var target = evt.target; и я получил эту ошибку: Uncaught TypeError: Object...

139
Легко установить эту переменную?

У меня довольно хорошее представление о Javascript, за исключением того, что я не могу придумать хороший способ установить переменную this. Рассмотреть возможность: var myFunction = function(){ alert(this.foo_variable); } var someObj = document.body; //using body as example object...