Função Apply do JavaScript
- Página Anterior Chamada de Função JS
- Próxima Página Ligação de Função JS
métodos de reutilização
através apply()
Métodos, você pode escrever métodos para diferentes objetos.
método apply() do JavaScript
apply()
Métodos ao call()
Métodos muito semelhantes:
Neste exemplo,person
do fullName
O método foiaplicaçãoaté person1
:
Exemplo
var person = { fullName: function() { return this.firstName + " " + this.lastName; } } var person1 = { firstName: "Bill", lastName: "Gates", } person.fullName.apply(person1); // Retornará "Bill Gates"
Diferenças entre call() e apply()
A diferença é:
call()
Métodos que aceitam parâmetros separadamente.
apply()
Métodos que aceitam parâmetros em forma de array.
Se você quiser usar um array em vez de uma lista de parâmetros, então apply()
Muito conveniente.
Método apply() com parâmetros
apply()
Métodos que aceitam parâmetros em forma de array:
Exemplo
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.apply(person1, ["Oslo", "Norway"]);
e call()
Métodos de comparação:
Exemplo
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; } } var person1 = { firstName:\"Bill\", lastName: "Gates" } person.fullName.call(person1, "Oslo", "Norway");
Simular o método max em um array
Você pode usar Math.max()
Método encontra o número maior (na lista de números):
Exemplo
Math.max(1,2,3); // Retornará 3
Como os arrays JavaScript não têm método max(), você pode aplicar Math.max()
Método
Exemplo
Math.max.apply(null, [1,2,3]); // Também retornará 3
O primeiro parâmetro (null) não importa. Não foi usado neste exemplo.
Esses exemplos darão o mesmo resultado:
Exemplo
Math.max.apply(Math, [1,2,3]); // Também retornará 3
Exemplo
Math.max.apply(" ", [1,2,3]); // Também retornará 3
Exemplo
Math.max.apply(0, [1,2,3]); // Também retornará 3
Modo Estrito do JavaScript
No modo estrito do JavaScript, se apply()
Se o primeiro parâmetro não for um objeto, ele se tornará o proprietário da função chamada (objeto). No modo 'não estrito', ele se torna o objeto global.
- Página Anterior Chamada de Função JS
- Próxima Página Ligação de Função JS