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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.