A última peça fundamental de funções de Javascript que ainda temos de cobrir é a palavra-chave de retorno.
Então, este vídeo vai se concentrar no conceito de qual é a palavra-chave de retorno.
E então, também, como escrevemos funções que o usam.
Então eu gosto de imaginar que as funções são uma máquina.
Nós escrevemos uma função e é preciso algumas entradas e esses seriam os argumentos.
E faz algo com essas inscrições matemáticas.
Ele verifica se um usuário está logado adiciona uma pontuação e então retorna algo no final.
Existe um resultado que ele envia de volta.
Portanto, até agora, as funções só tomaram entradas e na verdade não enviaram nada de volta.
Então, eu vou mostrar o que quero dizer, se tivermos uma função chamada Quadrado que vimos na última
lição e o quadrado contou.
Vamos chamar X e tudo o que fizemos dentro foi cancelado o log x times X. Se eu correr quadrado e eu passar num número como 4, vejo o número 16 aqui.
Então, parece que eu tenho um resultado que eu realmente tenho é algo impresso no console com diálogo de
console, mas na verdade não tenho algo que está sendo retornado.
Então, há uma grande diferença.
Se eu usar a palavra-chave de retorno, significa que posso capturar o valor que está voltando para fora da função.
Agora não consigo capturá-lo.
Portanto, um registro constante apenas o imprime no console.
Então, apenas um desenvolvedor jamais veria isso de qualquer maneira e não posso usá-lo em nenhuma outra parte do meu código.
Então, digamos que eu queria fazer algo onde eu tinha uma
linha que era como quatro quadrados é e então eu queria colocar o que fosse voltar do quadrado quatro.
Então, algo assim, eu queria juntar isso.
Então quatro quadrados são mais quadrados de quatro.
Agora, se eu fizer isso, apenas me diz que quatro quadrados são indefinidos.
E isso porque nada está sendo retornado ou falta esse resultado.
Então, mesmo que ele imprima algo, ele realmente não acaba de enviar nada.
Então, para fazer isso, usamos a palavra-chave de retorno.
Então, é uma mudança muito simples.
Nós apenas vamos voltar e, em vez de registrar comparáveis, vou escrever retorno.
Então, a palavra-chave de retorno retornará uma coisa por função.
tenhamos algum tipo de afirmação if, em vez de uma declaração IF, devolvemos
uma coisa e, em vez disso, devolvemos outra coisa, mas ainda apenas uma dessas Vai realmente retornar.
Poderíamos, teoricamente, ter várias declarações de retorno, mas apenas o primeiro será realmente executado, a menos que
Então, neste caso, estamos retornando X vezes x.
Então, se eu executar este agora quadrado
de quatro, você pode ver que isso me mostra 16, mas é um pouco diferente do que antes.
Do jeito que imprimiu 16, você verá esta seta aqui e isso me diz que é um valor de retorno.
Então, se eu simplesmente cancelar, não logue algo por conta própria, como cancelar o log para um
número de impressão quatro, mas logo abaixo, você pode ver que há um valor de retorno no log constante retorna indefinido.
Então, isso explica por que vimos tantos indefinidos.
Se você já se perguntou o que é isso.
Eu segurei em explicar isso até chegarmos à palavra-chave de retorno.
Então, cada função retorna algo.
E se não explicitamente dizer o que devolvê-lo apenas retorna indefinido.
Então, parece que tínhamos nossa função quadrada e,
quando a executávamos, ela retornava undefine mesmo que imprimisse 16 ainda retornava indefinida.
Então, para usar o valor agora para capturar o resultado do quadrado quadrado
de quatro se eu quiser usar isso em outro lugar, eu posso chamar de volta esta linha que se parece com isso 4 quadrados é mais quadrado de 4.
E isso vai correr.
Ele vai passar para um vai multiplicar X vezes x 16 e depois retornou 16.
Ele vai enviá-lo para fora da função e colocá-lo aqui.
E por isso temos quatro quadrados é 16.
A outra coisa que posso fazer com a palavra-chave de retorno
é salvá-la em uma variável para que eu possa fazer algo assim.
O resultado Var é igual ao quadrado de 104.
E agora, se eu olhar para os resultados, recebo dez mil e oitocentos e dezesseis.
Então, esta função chamada quadrado de 104 foi avaliada que retornou 10000 816 que foi armazenada em resultado.
Então eu tenho outro exemplo de uma função que retorna algo que é chamado de maiúsculas e leva uma
seqüência de caracteres como a palavra Paris e o que ela faz
é capitalizar a primeira letra e retorna toda a cadeia com essa primeira letra maiúscula.
Então, Paris se transforma em Paris com uma P. principal.
Então, o objetivo desta função é que altera um pouco os dados originais, então
passamos na string e, em seguida, recuperamos uma versão da seqüência de caracteres que possui a primeira letra maiúscula.
A lógica de como ele realmente capitaliza a primeira letra não é o que eu quero enfatizar aqui.
O que eu quero enfatizar é isso aqui, tenho uma cidade variável que é Paris lowercase P. E então, estou capitalizando a cidade em maiúscula e salvando o valor de retorno para uma nova variável.
Então, isso é algo que faremos muito, irá executar uma função, salve o valor
de retorno para uma variável para que possamos usá-la novamente em algum outro lugar.
Então, se você está se perguntando como essa função funciona, a primeira parte leva a primeira carta.
Então, o personagem no índice 0 e uma maiúscula é isso.
Então, isso nos daria maiúsculas e minúsculas e, em seguida, a string essa fatia leva um número.
Neste caso, 1.
Então, isso leva tudo do índice 1 em diante.
A R, acho que todas as
minúsculas e esmaga isso junto com o sinal de mais com a capital
P. Então, estamos capitalizando a primeira letra e depois tirando tudo o resto depois do primeiro personagem e combinando os dois e retornando isso.
Então, outro aspecto da palavra-chave de retorno é que ele pára a execução de uma função.
Então, assim que devolvemos algo, a função está concluída.
Então, o ponto inteiro de uma função é que é preciso algum tipo de entrada e, então, retorna algo.
Então, assim que retorna, é apenas o fim da execução da função.
Então aqui está um exemplo.
Esta é a mesma função em maiúsculas, exceto com uma pequena diferença.
E isso é verificar se passamos um número em
vez de uma string que é o que essa linha faz se o tipo de entrada for igual ao número, então vamos retornar, isso não é uma string.
Nós não queremos incomodar com nada disso.
Então, esse retorno se passamos e um número irá curto-circuito e esse código nunca é executado,
embora não haja nenhuma declaração L.
Então esse código deve ser executado.
Na verdade, ele não é executado, pois isso os curto-circuita.
Se passarmos um número, caso contrário, se passarmos uma seqüência de caracteres como Paris, isso não é verdade.
Portanto, essa declaração de retorno nunca é executada.
E então esta declaração de retorno está errada.
Então, a última coisa que eu quero apenas adicionar no final aqui é que
existem duas sintaxes diferentes para declarar uma função e a primeira é o que estamos usando.
É chamada de declaração de função.
Então, escrevemos função e depois o nome da nossa função.
E então passamos os argumentos e reescrevemos o nosso corpo de função dentro dos dois suportes.
Há outra maneira de escrever uma função chamada expressão de função.
E a maneira como fazemos isso é que, na verdade, escrevemos uma variável capitalizada e definimos isso igual a uma função.
Portanto, estas são duas maneiras de definir funções equivalentes.
Esta é uma declaração e esta é uma expressão.
Então, há uma pequena diferença que é se eu declarar a função dessa forma, var capitalizado é igual à função.
Se eu apenas decidisse mudar a letra maiúscula para ser igual ao número 10 ou ao número 15.
Minha função está perdida.
Então, vou mostrar o que quero dizer.
Então eu vou declarar uma função var.
Diga oi é igual a uma função e toda a função faz é cancelada log.
Olá.
Bem desse jeito.
E então eu posso chamar de dizer oi e exatamente da mesma maneira que as declarações de função que vimos.
Mas eu também posso decidir que dizer oi agora é igual a 34.
Agora, se eu me referir a dizer oi, não posso avaliá-lo, não
posso executá-lo como uma função mais à medida que avançamos para a classe.
Usaremos declarações e expressões e também falaremos mais sobre o motivo pelo qual você usaria uma sobre a
outra.