Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 9340|Ответ: 0

[JavaScript] Это подробное объяснение JavaScript

[Скопировать ссылку]
Опубликовано 28.09.2020 19:04:30 | | | |
Прежде всего, нужно сказать, что смысл этого нельзя определить, когда функция определена, только когда функция выполнена, можно определить, на кого она указывает; на самом деле конечная точка этого — это объект, который её вызывает (с этим предложением есть некоторые проблемы, и позже будет объяснено, почему возникает проблема, хотя большинство статей в Интернете говорят об этом, хотя во многих случаях с этим пониманием проблем нет, но на самом деле понимание неточно, Поэтому, когда вы это поймёте, у вас возникнет ощущение непонимания), поэтому я рассмотрю этот вопрос подробно.

Тест выглядит следующим образом:




Это имеет разные значения для разных целей функций. В общем случае это объект среды, в котором выполняется функция. Использование этого понятия подробно обсуждается в четырёх ситуациях.

Случай 1: Чистые вызовы функций

Это самое распространённое применение функции, и это глобальный вызов, то есть он представляет собой глобальный объект. Посмотрите на код ниже, он работает с результатом 1.


Случай 2: Метод вызова как объекта

Функцию также можно назвать методом объекта, в этом случае она относится к родительскому объекту.


Случай 3 Вызов как конструктор

Так называемый конструктор через эту функцию может быть сгенерирован новый объект. На данном этапе речь идёт о новом объекте.


Результат забега — 1. Чтобы показать, что это не глобальный объект на данный момент, мы вносим некоторые изменения в код:



Результат запуска — 2, что указывает на то, что значение глобальной переменной x не изменилось вовсе.

Case 4 Call Apply

Apply() — это метод функции, который изменяет вызывающий объект функции. Её первый параметр представляет изменённый объект, вызывающий функцию. Таким образом, это относится к первому параметру.


Когда параметр apply() пуст, по умолчанию вызывается глобальный объект. Таким образом, результат запуска равен 0, что доказывает, что это относится к глобальному объекту.

Если изменить последнюю строку кода на


Бегущий результат становится 1, доказывая, что это объект obj.

(Конец)


Ссылка:

Вход по гиперссылке виден.
Вход по гиперссылке виден.





Предыдущий:[Реальные бои] ASP.NET Core основан на распродаже Redis с распределёнными флэш-распродажами
Следующий:Разница между отдыхающим патчем и пут-запросом
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com