Qual é a função .apply jQuery?

Respostas:

125

applychama uma função com um conjunto de argumentos. Não faz parte do jQuery, é parte do Javascript principal. No entanto, há menção disso nos documentos do jQuery:

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

Sintaxe:

somefunction.apply(thisObj, [argsArray])

O procedimento acima chama a função somefunction, definindo thispara thisObjdentro do escopo da função e passando os argumentos de argsArraycomo os argumentos para a função.

Âmbar
fonte
2
Relacionado está a função [ .call () ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ) que também recebe um this, mas é seguido por uma série de argumentos listados individualmente em vez de uma matriz contendo os argumentos .
Peter Ajtai
o que vai fazer abaixo? $ .when.apply (null, objeto) .done (callback);
Gohel Kiran
@ user1531437 Isso chama $.when(object).done(callback);, mas na função $.when, thisé definido para o primeiro parâmetro, ou seja null. Indiscutivelmente, deve-se usar $.when.call(null, object).done(callback);porque o segundo parâmetro de .applydeve ser uma matriz
Luke Madhanga
Distantemente relacionada estava a função de proxy jQuery , que é útil para alterar o valor de, thisou seja, a variável de contexto, da maneira como o nativo de Javascript applypode fazer
The Red Pea
5

Essencialmente, apply irá chamar uma função com o contexto sendo definido para o objeto ao qual você aplica a função. Isso significa que, dentro da função, a referência thisfará referência a esse objeto.

issa marie tseng
fonte
Para qualquer um que trabalhe com jQuery e chegue a esta resposta, você precisará usar $(this)para obter o objeto jQuery associado e ter acesso aos métodos jQuery.
R. Schreurs
@ R.Schreurs também você precisa usar o objeto jQuery.fn como visto aqui: stackoverflow.com/a/27374435/674033
AVProgrammer