САЙТЫ  ПОД  КЛЮЧ
ОНЛАЙН-СЕРВИСЫ СПРАВОЧНИКИ SEO-ИНСТРУМЕНТЫ РАЗВЛЕЧЕНИЯ

Справочник Javascript

apply

Синтаксис

var result = function.apply(thisArg[, argsArray]);

Аргументы

thisArg
Задает значение this внутри функции. Если thisArg - null или undefined, то это будет глобальный объект. В ином случае, this будет равно Object(thisArg) (то есть thisArg, если thisArg уже объект, или String, Boolean или Number, если thisArg - примитивное значение соответствующего типа). Таким образом, при выполнении функции всегда соблюдается условие typeof this == 'object'.
argsArray
Массив аргументов, с которыми будет вызвана функция, или null/undefined для вызова без аргументов.

Описание, примеры

Любую функцию в яваскрипт можно вызвать в контексте любого объекта.

Используя apply, вы можете вызывать одну функцию в контексте множества различных объектов.

Метод apply очень похож на call, за исключением передачи аргументов. В apply используется массив аргументов вместо списка именованных параметров.

Используя apply, вы можете использовать литеральное объявление массива, например fun.apply(this, [name, value]).

Вы также можете использовать arguments в качестве параметра argArray. Это избавляет от необходимости знать, с какими параметрами была вызвана исходная функция.

Это используется во множестве паттернов проектирования. Например, для вызова метода родителя в ООП или для создания обертки, как в примере ниже:

Пример: Подменяем метод на такой же, но с логированием
Выделить все
// метод join будет теперь сообщать о каждом вызове
Array.prototype.join = function() {
  alert("Меня вызвали! Аргументов:"+arguments.length)
  Array.prototype.join.apply(this, arguments)
}
 
var arr = [1,2,3]

 

Это интересно

Основной причиной того, что главная страница Google имеет такой голый вид, является тот факт, что основатели Google… просто не знали языки разметки HTML, и хотели быстро сделать простой интерфейс. На самом деле они даже долгое время не могли сделать кнопку «Submit». Отправить поисковый запрос можно было только нажатием клавиши Enter на клавиатуре. Фактически, страница состояла из одной лишь поисковой строки.


Наши реквизиты
WMID: 309688839848
WMR: R325885159214
E-mail: 
  BL:Бизнес-уровень [BL]
QR-код сайта
Онлайн-радио
Больше радиостанций