Chamada de Função JavaScript
- Página Anterior Parâmetros da Função JS
- Próxima Página Chamada de Função JS
O código interno da função JavaScript será executado quando 'qualquer coisa' a chamar.
Chamar função JavaScript
Quando a função éDefinirquando, o código interno da função não será executado.
Quando a função éChamarquando, o código interno da função será executado.
Chamar uma função também pode ser dito 'iniciar uma função' ou 'executar uma função'.
Neste tutorial, usamos “Chamar”。
Chamar a função em forma de função
Instância
function myFunction(a, b) { return a * b; } myFunction(10, 2); // Retornará 20
Essas funções não pertencem a nenhum objeto. Mas no JavaScript, sempre existe um objeto global padrão.
No HTML, o objeto global padrão é a página HTML em si, todas as funções acima pertencem à página HTML.
No navegador, este objeto da página é a janela do navegador. A função acima se torna automaticamente uma função da janela.
myFunction() e window.myFunction() são a mesma função:
Instância
function myFunction(a, b) { return a * b; } window.myFunction(10, 2); // Também retornará 20
Este é um método comum para chamar uma função, mas não é um hábito bom.
Variáveis globais, métodos ou funções globais podem facilmente causar conflitos de nomes e vulnerabilidades no objeto global.
this palavra-chave
em JavaScript, chamado de this
a coisa, significa o objeto que possui o código atual.
this
o valor, ao usar na função, é o objeto que possui a função.
Atenção this
não é uma variável. Pertence a uma palavra-chave. Você não pode mudar this
o valor.
o objeto global
Quando chama um objeto sem objeto dono,this
o valor se torna o objeto global.
No navegador da web, o objeto global é o objeto do navegador.
Este exemplo usa this
o valor retornará este objeto window:
Instância
var x = myFunction(); // x será o objeto window function myFunction() { return this; }
Chamar uma função como função global causará this
o valor se torna o objeto global.
Usar o objeto window como variável pode fácilmente causar falha no programa.
Chamar uma função como método
No JavaScript, você pode definir uma função como método de objeto.
O exemplo a seguir cria um objeto (myObject), com duas propriedades (firstName e lastName), e um método (fullName):
Instância
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // Retornará "Bill Gates"
O método fullName é uma função. A função pertence ao objeto. myObject é o dono da função.
chamado de this
O objeto que possui a coisa, é o objeto "possui" este código JavaScript. Neste exemplo,this
o valor é myObject.
Teste isso! Modifique o método fullName para retornar this
o valor:
Instância
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // Retornará [object Object] (o objeto dono)
Chamar a função como método de objeto causará this
seu valor se tornará o objeto em si.
chamando a função através do construtor de função
e a função for chamada antes new
Se a palavra-chave for
Parece que você está criando uma nova função, mas como as funções JavaScript são objetos, na verdade você está criando um novo objeto:
Instância
// Este é o construtor da função: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // Foi criado um novo objeto: var x = new myFunction("Bill", "Gates"); x.firstName; // retornará "Bill"
A chamada do construtor criará um novo objeto. Este novo objeto herdará propriedades e métodos do construtor.
dentro do construtor this
A palavra-chave não tem valor.
this
seu valor se tornará um novo objeto criado ao chamar a função.
- Página Anterior Parâmetros da Função JS
- Próxima Página Chamada de Função JS