Resumo de Função ECMAScript

O que é uma função?

A função é um grupo de instruções que podem ser executadas em qualquer lugar e a qualquer momento.

A função é o núcleo do ECMAScript.

A função é declarada da seguinte forma: palavra-chave function, nome da função, um grupo de parâmetros e o código a ser executado entre parênteses.

A sintaxe básica da função é assim:

function functionName(arg0, arg1, ... argN) {
  statements
}

Por exemplo:

function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

Como chamar uma função?

A função pode ser chamada pelo nome mais os parâmetros entre parênteses, se houver vários parâmetros.

Se você quiser chamar a função do exemplo acima, você pode usar o seguinte código:

sayHi("David", " Nice to meet you!")

Chamar a função sayHi() acima gerará uma janela de aviso. Você podeExperimente este exemplo pessoalmente.

Como uma função retorna valor?

A função sayHi() não retorna valor, mas não é necessário declará-la especificamente (como no Java usando void).

Mesmo que a função tenha um valor, não é necessário declará-lo explicitamente. A função apenas precisa usar o operador return seguido do valor a ser retornado.

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
}

O seguinte código atribui o valor retornado pela função sum a uma variável:

var iResult = sum(1,1);
alert(iResult); // Saída "2"

Outro conceito importante é que, como no Java, a função para de executar o código imediatamente após a execução da sentença return. Portanto, o código após a sentença return não será executado.

Por exemplo, na seguinte código, a janela alert não será exibida:

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
  alert(iNum1 + iNum2);
}

Um único função pode ter várias sentenças return, conforme mostrado a seguir:

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  } else {
    return iNum2 - iNum1;
  }
}

A função acima é usada para retornar a diferença entre dois números. Para fazer isso, é necessário subtrair o número menor do maior, portanto, a sentença if decide qual return executar.

Se a função não tiver valor de retorno, pode chamar o operador return sem parâmetros para sair da função a qualquer momento.

Por exemplo:

function sayHi(sMessage) {
  if (sMessage == "bye") {
    return;
  }
  alert(sMessage);
}

Neste código, se sMessage for igual a "bye", a caixa de mensagem de aviso nunca será exibida.

Notas:Se a função não tiver valor de retorno explícito ou chamar uma sentença return sem parâmetros, o valor que ela realmente retorna é undefined.