1. this
Указание на элементы
this
может указывать только на объектыthis
На кого указывает, зависит от того, где вызывается функцияthis
Объект, на который указывает указатель, называется контекстом функции, также называемым вызывающей стороной функции.
2. Закон направления
В методе это указывает на объект метода. Если используется отдельно, это представляет глобальный объект; в функции это также представляет глобальный объект, но в строгом режиме это не определено; в случае, это элемент, который получает событие; такие методы, как call() и apply(), могут ссылаться на любой объект
2.1 Имя функции () прямой вызов
ориентированное на это окно
function func(){
console.log(this);
}
func();
результат операции:
2.2 Вызов методаthis
В объектном методе this
указатель на объект, в котором вызывается метод.
var person = {
firstName: "123",
lastName: "456",
myFunction: function () {
return this.firstName + " " + this.lastName;;
}
};
console.log(person.myFunction());
результат операции:
2.3 Использовать отдельноthis
указать на глобальный объект
var a=this;
console.log(this);
результат операции:
2.4 Использование в функцияхthis
this
Указывает на глобальный объект по умолчанию
function func() {
return this;
}
console.log(func());
результат операции:
- в строгом режиме
Показать this
неопределенное
"use strict";
function func() {
return this;
}
console.log(func());
результат операции:
2.5 Связывание в методах объекта
указывает this
на объект человека
var person = {
firstName: "123",
lastName: "456",
id: 1234,
myFunction: function () {
return this;
}
};
console.log(person.myFunction());
результат операции:
2.6 Явное связывание функций
Средние js
функции также являются объектами, объекты имеют методы apply
и call
являются методами объектов функций.Они позволяют переключать контекст выполнения функции.Такая ситуация называется this
связанной функцией
var person1 = {
FullName: function () {
return this.firstName + " " + this.lastName;
}
}
var person2 = {
firstName: "A",
lastName: "B"
}
console.log(person1.FullName.call(person2));
результат операции:
3. this
Направление стрелочной функции
-
Сами стрелочные функции не имеют области видимости (нет this)
-
Основной синтаксис: параметр => тело функции
-
это равно значению this предыдущей нестрелочной функции или глобального объекта (окна или неопределенного)
Ссылки: это ключевое слово