Funções em JavaScript: Definição e Uso
Funções em JavaScript: Definição e Uso
Para ser totalmente preciso, as funções predefinidas em JavaScript são métodos. Uma
método é simplesmente o nome dado a uma função definida dentro de um objeto. Para o
Neste momento, vamos considerar que são simplesmente funções.
1
Ch 3. LES FONCTIONS EN JAVASCRIPT 2022
Por exemplo, o JavaScript possui uma função chamada random() (que pertence a
o objeto matemático que estudaremos mais tarde) e que irá gerar um número decimal aleatório
entre 0 e 1 ou ainda de uma função replace() (que pertence ao objeto String) que vai nos
permissão para procurar e substituir uma expressão por outra em uma cadeia de
caracteres.
Código HTML
<!DOCTYPE html>
<html>
<Cabeça>
<title>Cours JavaScript</title>
<meta charset="utf-8">
<link rel="stylesheet" href="[Link]">
<script src='[Link]' ></script>
</head>
<body>
<h1>Titre principal</h1>
<p>Um parágrafo</p>
<p id='p1'></p>
<p id='p2'></p>
</body>
</html>
Código JS
let prez = 'Bonjour, je suis Mohamed';
2
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
RESULTAT
Título principal
Um parágrafo
0,9470418728056098
De fato, você precisa entender bem que por trás desses nomes de funções se escondem
códigos às vezes longos e complexos que serão executados quando chamamos a função e que
vão permitir realizar uma operação precisa (gerar um número aleatório, etc.).
Além disso, o código de uma função é reutilizável: isso significa que poderemos
appeler une même fonction autant de fois qu’on le souhaite afin qu’elle accomplisse plusieurs
vez a mesma operação.
Para executar o código escondido por trás da função, basta chamá-la ou 'invocá-la'.
Para fazer isso, basta escrever o nome da função seguido de um par de parênteses e
eventualmente precisar argumentos entre os parênteses.
Os argumentos de uma função são valores que vamos passar para a nossa função para que
que ela funcione normalmente ou para especificar o comportamento que deve ter
adotante. Algumas funções não vão necessitar de argumentos, outras vão ter
precisa de um argumento, outros de dois, etc. Além disso, alguns argumentos vão ser
obrigatórios enquanto outros serão facultativos.
Por exemplo, no caso da nossa função replace(), será necessário fornecer como primeiro argumento
a expressão a ser pesquisada e substituída e, como segundo argumento, a expressão de substituição
para que a função funcione corretamente.
3
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
2. As funções personalizadas
Para definir uma função, vamos usar a palavra-chave function seguida do nome que desejamos
dar à nossa função então de um par de parênteses nos quais podemos
eventualmente definir parâmetros e finalmente de um par de chaves em que
on va placer le code de notre fonction.
A sintaxe de uma declaração de função é a seguinte:
function nom_de_la_fonction(arguments) {
Uma vez que nossa função estiver definida, só precisaremos chamá-la para usá-la.
A chamada de uma função é feita da forma mais simples do mundo pelo nome da função (com os
parênteses).
Seja por exemplo nom_de_la_fonction();
É necessário ter em mente, de forma lógica (pois o interpretador lê seu script de cima para baixo), que
sua função deve estar bem definida antes de ser chamada.
4
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Vamos imediatamente ver como fazer na prática.
Código HTML
<!DOCTYPE html>
<html>
<cabeça>
<title>Cours JavaScript</title>
<meta charset="utf-8">
<body>
<h1>Titre principal</h1>
<p>Um parágrafo</p>
<p id='p1'></p>
<p id='p2'></p>
</body>
</html>
Code JS
/*Definimos duas funções personalizadas. */
A função aleatória() utiliza a função (método) random().
A função multiplicacao() multiplica dois números entre si.
Usamos uma instrução return para que nossas funções, uma vez chamadas,
*retornam o resultado de seu cálculo para que possamos usar esse resultado*
function aleatória(){
retornar [Link]() * 100;
}
Título principal
Um parágrafo
40.592362809005245
5 * 10 = 50
5
Cap 3. AS FUNÇÕES EM JAVASCRIPT 2022
Os nomes das funções seguem as mesmas regras que os das variáveis. Portanto, você pode
dê o nome que você quiser à sua função desde que comece com um
letra, não contém espaços nem caracteres especiais e não está já sendo utilizado nativamente por
o JavaScript.
O objetivo da nossa função aleatória() vai ser retornar um número aleatório entre 0 e 100.
Para isso, começamos por usar random() que retorna um número aleatório entre
0 e 1 e multiplicamos o valor retornado por 100 para ter um número entre 0 e 100 tudo
simplesmente.
Este primeiro exemplo de criação de função tem como objetivo mostrar que poderemos
executar uma função dentro de outra função sem problemas.
Observe que também usamos aqui para nossas duas funções uma instrução return. Esta
A instrução permitirá que nossas funções retornem um valor que poderemos então
manipular. Nós o estudaremos em detalhes mais tarde.
Aqui, então será necessário passar esses dois números para nossa função quando a chamarmos para que ela
pudesse multiplicá-los e retornar o resultado. Ao chamar, vamos então passar esses
nomes nos argumentos da nossa função, entre parênteses.
No entanto, estamos aqui diante de um problema: como explicitar o fato de que nossa função deve
multiplicar dois números entre si quando não os conhecemos de antemão?
Nous allons pour cela utiliser ce qu’on appelle des paramètres. Les paramètres des fonctions
são "nomes de empréstimo" que serão substituídos pelos valores efetivos passados como argumento
quando chamamos nossa função.
6
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
A ideia aqui é que podemos dar qualquer nome aos nossos parâmetros: eu os chamo aqui
"nome1" e "nome2", mas eu poderia muito bem chamá-los de "Salah" e "Math" ou "
x » e « y ». O importante será manter os mesmos nomes entre os parênteses e no
código da função.
Mais uma vez, quando chamamos nossa função, os argumentos passados (ou seja,
os valores efetivos) irão substituir os parâmetros.
Bem obviamente, as funções que acabamos de criar não são muito úteis aqui. No entanto, ele
É preciso começar com algo e dominar a base para criar coisas maiores.
mais complexos! Um pouco de paciência: estamos chegando lá.
Aqui está um pequeno resumo das coisas importantes a lembrar a seu respeito sobre as funções
:
Para executar o código de uma função, é necessário chamá-la. Para isso, basta escrever seu
nom seguido de um par de parênteses, passando eventualmente argumentos dentro
os parênteses
Se uma função precisa que valores sejam passados para funcionar, então definiremos
de parâmetros ao ser definido. Ao ser chamado, serão passados argumentos
que tomarão o lugar dos argumentos.
7
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Aqui, você deve lembrar bem da seguinte coisa: uma variável definida no espaço global de um
o script vai estar acessível em todo o script, mesmo a partir de uma função. No entanto, uma
variável definida em uma função só é acessível dentro dessa mesma função e não pode
não pode ser manipulada desde o espaço global do script.
Código HTML
<!DOCTYPE html>
<html>
<head>
<title>Cours JavaScript</title>
<metacharset="utf-8">
<body>
<h1>Título principal</h1>
<p>Um parágrafo</p>
<pid='p1'></pid>
<pid='p2'></p>
8
Ch 3. LES FONCTIONS EN JAVASCRIPT 2022
<pid='p3'></p>
<pid='p4'></p>
<pid='p5'></p>
</body>
</html>
JS
//Declaramos duas variáveis globais
letx=5;
variar=10;
[Link]('p5').innerHTML=
Desde o espaço global : <br>a =
RESULT
Título principal
Um parágrafo
Desde portee1() :
x=5
y = 10
9
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Desde portee2() :
a=1
b=2
Desde portee3() :
x = 20
y = 40
Para esta lição, vou usar sempre as duas notações para ilustrar as diferenças
sublinhados relacionados ao escopo entre essas duas maneiras de declarar variáveis.
Ensuite, nous allons créer trois fonctions qui vont utiliser des variables globales ou définir
suas próprias variáveis. Nossa função portee1() usa, por exemplo, nossas variáveis let x e var
Como essas variáveis foram declaradas no espaço global, elas são, portanto, acessíveis e
utilizáveis em todo o script e especialmente em funções.
Nossa segunda função portee2() declara suas próprias variáveis let a e var b. Essas variáveis
são, então, variáveis locais a esta função e só poderão ser usadas a partir de
essa função.
Finalmente, nossa terceira função portee3() também vai definir duas variáveis locais let
xetvar [Link], a situação é mais complexa do que anteriormente para entender, uma vez que temos
duas variáveis let x e duas variáveis var y: uma definida no espaço global e a outra definida
na função toda vez.
10
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Aqui, você deve entender bem que as variáveis let xglobal e let xlocal, embora elas
possui o mesmo nome, são duas entidades totalmente diferentes (e o mesmo para var
yglobal e local).
Neste caso, nossa função vai usar as variáveis definidas localmente em vez daquelas
definidas no espaço global.
Além disso, como as variáveis locais e globais não são as mesmas entidades, elas vão agir
independentemente e assim modificar o valor delet xlocale não modificará o valor da
variável global e vice-versa.
Vemos bem isso quando tentamos exibir os valores delet x e de var y do espaço
global : aqui, são as variáveis globais que são usadas prioritariamente e vemos que os
valeurs qu’elles contiennent n’ont pas été modifiées par la fonctionportee3().
Finalmente, tentamos exibir os valores de nossas variáveis let e var definidas localmente.
desde o espaço global. Como essas variáveis são locais, elas não são acessíveis a partir de
o espaço global e um erro será emitido pelo JavaScript nesse caso.
No exemplo anterior, não conseguimos observar nenhuma diferença de comportamento entre uma
variável declarada com a sintaxe let e uma variável declarada com var em JavaScript.
Em contrapartida, ao definir uma variável com a palavra-chave var em uma função, a variável
t terá um alcance ampliado uma vez que esta variável estará acessível em todos os blocos do
função. Vamos pegar imediatamente um exemplo para entender bem isso:
Código HTML
<!DOCTYPE html>
<html>
<cabeça>
<title>Cours JavaScript</title>
<metacharset="utf-8">
11
Cap 3. AS FUNÇÕES EM JAVASCRIPT 2022
</head>
<body>
<h1>Título principal</h1>
<p>Um parágrafo</p>
<pid='p1'></pid>
<pid='p2'></p>
<pid='p3'></pid>
<pid='p4'></p>
</body>
</html>
Código JS
functionportee1(){
letx=1;
vary=2;
se(true){
letx=5;//Variável diferente
vary=10;//Même variable qu'au dessus
[Link]('p1').innerHTML='x (dans if) = '+x;
[Link]('p2').innerHTML='y (dans if) = '+y;
}
[Link]('p3').innerHTML='x (hors if) = '+x;
[Link]('p4').innerHTML='y (hors if) = '+y;
}
portee1();
RESULT
Título principal
Um parágrafo
x (dentro do if) = 5
y (no if) = 10
x (exceto se) = 1
y (hors if) = 10
Aqui, criamos uma função portee1() que contém duas variáveis let x e var y assim como uma
condição se o código sempre vai ser executado porque seu teste está sempre validado (verdadeiro)
sempre avaliado... a verdadeira).
12
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Eu repito mais uma vez aqui: hoje, você ainda deve usar a nova sintaxe
declaração de variáveis em JavaScript usando a palavra-chave let. No entanto, eu preciso lhe
apresentar as variáveisvarcar de muitos sites e desenvolvedores continuam a usá-las.
Um valor de retorno é um valor devolvido por uma função uma vez que esta tenha terminado
sua execução.
Um valor de retorno é um valor único que será retornado pela função após seu
execução e que vamos poder recuperar para manipulá-la em nosso script.
Algumas funções pré-definidas retornarão um valor de retorno enquanto outras não o farão
não o envie de volta.
É sempre muito útil saber se uma função pré-definida em JavaScript vai retornar uma
valor ou não e que tipo de valor a função vai retornar uma vez que isso nos permitirá
saber o que fazer após a execução da função e eventualmente coletar o valor de
retorno para realizar diferentes operações.
Por exemplo, algumas funções JavaScript retornam o booleano verdadeiro se forem bem-sucedidas
realizar sua tarefa ou falso em caso de falha. Nesse caso, poderemos usar uma condição
em torno dessas funções para lidar e dar instruções em caso de falha de
nossa função.
Para que as nossas funções retornem um valor, será necessário usar uma instrução return.
instrução vai nos permitir retornar o resultado da função ou um valor do nosso
13
Ch 3. LES FONCTIONS EN JAVASCRIPT 2022
escolha que depois podemos ou manipular imediatamente ou armazenar em uma variável
para realizar diferentes operações com este valor.
Atenção, no entanto: a instrução return encerra a execução de uma função, o que significa
que todas as outras operações que seguem uma instrução return em uma função serão
ignoradas.
Por essa razão, sempre teremos cuidado em colocar a instrução return no final de
função, após todas as operações terem sido realizadas.
Olhe o código abaixo:
HTML
<!DOCTYPE html>
<html>
<head>
<title>Cours JavaScript</title>
<metacharset="utf-8">
<body>
<h1>Titre principal</h1>
<p>Um parágrafo</p>
<pid='p1'></p>
<pid='p2'></p>
</body>
</html>
JS
letprez='Bonjour, je suis Mohamed';
14
Cap 3. AS FUNÇÕES EM JAVASCRIPT 2022
*coloca-os nas variáveis numero1 e numero2. Em seguida, utilizamo-los.
*como argumentos da nossa função div()*/
let nombre1 = prompt('Digite um primeiro número');
let nombre2 = prompt('Digite um segundo número');
Sabe-se que replace() retorna uma nova cadeia de caracteres com as substituições.
demandados em valor de retorno. Aqui, recuperamos esse valor de retorno em uma variável let
resultado que usamos em seguida.
Abaixo, criamos uma função div() cujo papel é dividir um número por outro.
No código da nossa função, isolamos o caso em que o denominador é igual a 0. Nesse caso,
nossa função retorna a string "divisão por 0 impossível". Em todos os outros casos, nossa
função retorna o resultado da divisão.
Observe que também coloquei uma instrução alert() após return no else da minha função
para mostrar a você que ela nunca será executada (pois ela está após
a instrução return que finaliza a função.
Finalmente, pedimos aos usuários que nos enviem dois números que vamos passar em
argumentos da nossa função div(). Para isso, usamos uma função prompt(). Esta função
abra uma caixa de diálogo e permita que os usuários nos enviem dados.
15
Ch 3. LES FONCTIONS EN JAVASCRIPT 2022
16
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
<!DOCTYPE html>
<html>
<head>
<title>Cours JavaScript</title>
<metacharset="utf-8">
<metaname="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="[Link]">
<script src='[Link]' async></script>
</head>
<body>
<h1>Título principal</h1>
<p>Um parágrafo</p>
</body>
</html>
JS
deixe alerta = função(){}
alert('Alerte executada por uma função anônima');
};
17
Capítulo 3. AS FUNÇÕES NO JAVASCRIPT 2022
<title>Cours JavaScript</title>
<metacharset="utf-8">
<metaname="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="[Link]">
<script src='[Link]' async></script>
</head>
<corpo>
<h1>Título principal</h1>
<p>Um parágrafo</p>
</body>
</html>
JS
/*Comentário de código para evitar uma execução intempestiva (abertura das caixas de alerta). Remova o
commentaire pour qu'il fonctionne normalement
*/
RESULT
Titre principal
Um parágrafo
Você pode anotar duas coisas sobre funções auto-invocadas. Primeiro, você
deve saber que a noção de auto-invoação não se restringe apenas a funções anônimas:
nós vamos conseguir auto-invocar uma função que possui um nome. Entretanto, em
pratique, isso muitas vezes não terá muito interesse (já que se uma função tem um nome,
podemos simplesmente chamá-lo usando este nome).
Em seguida, você deve entender bem que ao auto-invocar uma função, a função
executa-se imediatamente e, portanto, não temos flexibilidade em relação a isso: uma função
A função auto-invocada será sempre executada logo após sua declaração.
5. Executar uma função anônima quando um evento é acionado
Finalmente também poderemos conectar nossas funções anônimas ao que chamamos de "
gerentes de eventos » em JavaScript.
A linguagem JavaScript de fato nos permitirá responder a eventos, ou seja,
executar certos códigos quando um evento ocorre.
O JavaScript permite responder a muitos tipos de eventos: clique em um elemento,
pression de uma tecla em um teclado, abertura de uma janela, etc.
Para indicar como queremos responder a tal evento, usamos gerenciadores
eventos que são funções que executarão tal código quando tal evento
acontece.
Les évènements vont faire l’objet d’une prochaine partie et je ne veux pas trop en parler pour
o momento. Observe simplesmente que vamos poder passar uma função anônima para um
18
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
gerente de evento que o executará assim que o evento for acionado que o
gestor responsável.
HTML
<!DOCTYPE html>
<html>
<head>
<title>Cours JavaScript</title>
<metacharset="utf-8">
<metaname="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="[Link]">
<scriptsrc='[Link]'async></script>
</head>
<corpo>
<h1>Título principal</h1>
<p>Um parágrafo</p>
Parágrafo 1
<pid='p2'>Parágrafo 2</p>
</body>
</html>
JS
//Representam nossos parágrafos p id='p1' e p id='p2'
letpara1=[Link]('p1');
letpara2=[Link]('p2');
19
Capítulo 3. AS FUNÇÕES EM JAVASCRIPT 2022
Para concluir esta parte, gostaria também de apresentar funções que possuem uma
estrutura particular e que chamamos de funções recursivas.
Uma função recursiva é uma função que se chama a si mesma dentro de seu código.
Assim como para os loops, as funções recursivas nos permitirão executar uma
ação em loop até que uma certa condição de saída seja verificada.
HTML
<!DOCTYPE html>
<html>
<head>
<title>Cours JavaScript</title>
<metacharset="utf-8">
<metaname="viewport"
content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="stylesheet" href="[Link]">
<scriptsrc='[Link]'async></script>
</head>
<corpo>
<h1>Título principal</h1>
<p>Um parágrafo</p>
<pid='p1'></p>
</body>
</html>
JS
functiondecompte(t) {
se(t>0) {
[Link]('p1').innerHTML+=t+'<br>';
retornar decompte(t-1);
}else{
retorne;
}
};
decompte(7);
RESULT
Titre principal
Un paragraphe
7
6
5
4
3
2
1
Aqui, nossa função conta() é uma função recursiva: ela vai se chamar a si mesma em
son code. A função aceita um número como argumento. Se esse número for estritamente positivo,
ele é exibido no parágrafo id='p1' e a função é executada novamente removendo 1
ao valor passado anteriormente e isso até chegar a 0.
20