Existem três maneiras de declarar funções personalizadas em JavaScript, ou seja, usando instruções de função, usando construtores Function() e definindo literais de função.
1. Instrução de função
Em JavaScript, você pode usar a instrução de função para declarar funções. O uso específico é o seguinte:
function funName([args]) { declarações }
funName é o nome da função, que assim como o nome da variável deve ser um identificador JavaScript legal. Após o nome da função há uma lista de parâmetros entre parênteses e separados por vírgulas. Os parâmetros são opcionais e não há limite de número.
Como identificadores, os parâmetros são acessados apenas dentro do corpo da função. Os parâmetros são membros privados do escopo da função; Ao chamar uma função, passe um valor para a função, use parâmetros para obter o valor passado externamente e intervenha na execução da função dentro do corpo da função.
Depois dos parênteses está uma chave, e a instrução contida na chave é o conteúdo principal da estrutura do corpo da função. No corpo da função, chaves são essenciais. Sem chaves, o JavaScript gerará um erro de sintaxe.
A instrução de funçãode exemplo
deve conter o nome da função, parênteses e colchetes, e outros códigos podem ser omitidos, portanto, o corpo da função mais simples é uma função vazia.
function funName() {} //Função vazia
Se você usar uma função anônima, poderá omitir o nome da função.
function () {} //
A instrução var e a instrução de função vazias anônimas são ambas declarações de declaração, e as variáveis e funções que elas declaram são analisadas quando o JavaScript é pré-compilado, também conhecido como promoção de variável e promoção de função. Durante o período de pré-compilação, o mecanismo JavaScript criará um contexto para cada função, definirá um objeto variável e registrará todos os parâmetros formais, variáveis privadas e funções aninhadas na função como atributos no objeto variável.
2. Construtor Function()
Use o construtor Function() para gerar funções rapidamente. O uso específico é o seguinte:
var funName = new Function(p1, p2, ..., pn, body);
Os tipos de parâmetros de Function() são todos strings. e body representa as instruções da estrutura da função criada de uma função, separadas por ponto e vírgula entre as instruções do corpo.
O exemplo 1
pode omitir todos os parâmetros e passar apenas uma string para representar o corpo da função.
var f = new Function ("a", "b", "return a+b"); //Clone a estrutura da função através do construtor
, f é o nome da função criada. A mesma função é definida e funções com a mesma estrutura podem ser projetadas usando a instrução function.
function f(a, b) { //Use a instrução da função para definir a estrutura da função return a + b; }
O exemplo 2
usa o construtor Function() para criar uma estrutura de função vazia sem especificar nenhum parâmetro.
var f = new Function(); //Define uma função vazia.
Use o construtor Function() para criar funções dinamicamente. Usar o construtor Function() permite que a função seja usada como uma expressão em vez de uma estrutura, portanto é mais flexível de usar. A desvantagem é que o construtor Function() é compilado durante a execução, a eficiência de execução é muito baixa e seu uso geralmente não é recomendado.
3. Função anônima (função literal)
A função literal também é chamada de função anônima, ou seja, a função não tem nome de função e contém apenas a palavra-chave da função, os parâmetros e o corpo da função. O uso específico é o seguinte:
function ([args]) { declarações }
Exemplo 1
O código a seguir define uma função literal.
function (a, b) { //Função literal return a + b; }
No código acima, literais de função são basicamente iguais a usar instruções de função para definir estruturas de função, e suas estruturas são fixas. No entanto, a função literal não especifica o nome da função, mas usa diretamente a palavra-chave function para representar a estrutura da função. Esse tipo de função também é chamada de função anônima.
Exemplo 2
Uma função anônima é uma expressão, ou seja, uma expressão de função, não uma instrução de uma estrutura de função. A seguir, atribua a função anônima como um valor à variável f.
//Atribuir a função como um valor diretamente à variável f var f = função (a, b) { retornar a + b; };
Quando a estrutura da função é atribuída a uma variável como um valor, a variável pode ser chamada como uma função e a variável aponta para a função anônima.
console.log(f(1,2)); //valor de retorno 3
Exemplo 3
Funções anônimas servem como valores e podem participar de operações de expressão mais complexas. Para o exemplo acima, você pode usar o código a seguir para concluir a operação integrada de definição e chamada de função.
console.log( //Chama a função como um operando (function (a,b) { retornar a + b; })(1, 2)); //Valor de retorno 3
Uma vez definida uma função, podemos chamá-la em qualquer lugar do documento atual. Chamar uma função é muito simples, basta adicionar um colchete após o nome da função, como alert(), write(). Observe que se os parâmetros forem especificados entre parênteses após o nome da função ao definir a função, os parâmetros correspondentes deverão ser fornecidos entre parênteses ao chamar a função.
O código de exemplo é o seguinte:
function sayHello(name){ document.write("Olá " + nome); } //Chama a função sayHello() sayHello('Site PHP chinês');
Dica: JavaScript diferencia maiúsculas de minúsculas, portanto, a palavra-chave function deve estar em minúsculas ao definir uma função, e a função deve ser chamada no mesmo caso de quando foi declarada.
O texto acima é uma análise aprofundada da declaração e chamada de funções personalizadas JS. Para obter mais informações, preste atenção a outros artigos relacionados no site PHP chinês!