Не избегайте использования this . Просто используйте это правильно. Javascript - это объектно-ориентированный язык на основе прототипов. Если вы создаете свои объекты с использованием прототипа объекта , следует всегда знать, к чему это относится.
jQuery.fn - то же самое, что и jQuery.prototype
. jQuery.fn
это просто псевдоним. Вы также можете проверить это ключевое слово, используя instanceof.
this instanceof jQuery
Другой распространенной практикой является вызов метода и привязка контекста в это время с использованием функциональных методов apply
или call
. Это будет гарантировать этот контекст функции.
Вот простой пример.
var div = document.getElementById('div1');
function sayId(){
alert(this.id);
}
sayId.call(div); // alerts div1
Первый аргумент метода вызова связывает контекст this и запускает функцию.
Умение контролировать и проверять this
- лучший способ избежать распространенных ошибок.