Ключевое слово js this указывает на проблему

1. thisУказание на элементы

  • thisможет указывать только на объекты
  • thisНа кого указывает, зависит от того, где вызывается функция
  • thisОбъект, на который указывает указатель, называется контекстом функции, также называемым вызывающей стороной функции.

2. Закон направления

В методе это указывает на объект метода. Если используется отдельно, это представляет глобальный объект; в функции это также представляет глобальный объект, но в строгом режиме это не определено; в случае, это элемент, который получает событие; такие методы, как call() и apply(), могут ссылаться на любой объект

2.1 Имя функции () прямой вызов

ориентированное на это окно

  function func(){
    
    
          console.log(this);
      }
      func();

  результат операции:

[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от пиявки, рекомендуется сохранить изображение и загрузить его напрямую (img-5V3KjOIE-1648367278253)(image-20220327150401593.png)]

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());

результат операции:

[Передача изображения по внешней ссылке не удалась, исходный сайт может иметь механизм защиты от пиявки, рекомендуется сохранить изображение и загрузить его напрямую (img-D9H1hBZi-1648367278255)(image-20220327152038699.png)]

  • в строгом режиме

Показать   this неопределенное

   "use strict";
        function func() {
    
    
            return this;
        }
        console.log(func());

  результат операции:

[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от пиявки, рекомендуется сохранить изображение и загрузить его напрямую (img-mQaHJrqZ-1648367278257)(image-20220327152222291.png)]

2.5 Связывание в методах объекта

указывает   this на объект человека

 var person = {
    
    
            firstName: "123",
            lastName: "456",
            id: 1234,
            myFunction: function () {
    
    
                return this;
            }
        };
        console.log(person.myFunction());

  результат операции:

[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от кражи, рекомендуется сохранить изображение и загрузить его напрямую (img-YGp9sjcU-1648367278258)(image-20220327153216645.png)]

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));

  результат операции:

[Не удалось передать изображение по внешней ссылке, исходный сайт может иметь механизм защиты от личинга, рекомендуется сохранить изображение и загрузить его напрямую (img-Z8pHdoIP-1648367278259)(image-20220327154731681.png)]

3. thisНаправление стрелочной функции

  • Сами стрелочные функции не имеют области видимости (нет this)

  • Основной синтаксис: параметр => тело функции

  • это равно значению this предыдущей нестрелочной функции или глобального объекта (окна или неопределенного)

Ссылки: это ключевое слово

おすすめ

転載: blog.csdn.net/m0_52900946/article/details/123774979