L'ultima parte fondamentale delle funzioni Javascript che dobbiamo ancora coprire è la parola chiave return.
Quindi questo video si concentrerà concettualmente sulla parola chiave di ritorno.
E poi anche come scriviamo le funzioni che lo usano.
Quindi mi piace immaginare che le funzioni siano una macchina.
Scriviamo una funzione e ci vogliono alcuni input e quelli sarebbero gli argomenti.
E fa qualcosa con quegli input fa matematica.
Controlla se un utente è loggato, aggiunge un punteggio e poi restituisce qualcosa alla fine.
C'è un output che rimanda.
Quindi fino ad ora le funzioni hanno solo preso input e in realtà non hanno inviato nulla indietro.
Quindi ti mostrerò cosa intendo se avremo una funzione chiamata Square che abbiamo visto nell'ultima lezione e square
ha preso un input.
Chiamiamolo X e tutto ciò che abbiamo fatto è stato cancellato x il log x volte X. Se corro quadrato e passo in un numero come 4 vedo il numero 16 qui.
Quindi sembra che io abbia un output quello che effettivamente ho è qualcosa che viene stampato nella console con la finestra
di dialogo della console, ma in realtà non ho qualcosa che viene restituito.
Quindi c'è una grande differenza.
Se uso la parola chiave di ritorno, significa che posso acquisire il valore che sta tornando fuori dalla funzione.
Al momento non riesco a catturarlo.
Quindi un log costante lo stampa sulla console.
Quindi solo uno sviluppatore lo vedrebbe comunque e non posso usarlo in nessun'altra parte del mio codice.
Quindi diciamo che volevo fare qualcosa in cui avevo una
linea che era come quattro al quadrato e poi volevo mettere quello che veniva dal quarto quadrato.
Quindi qualcosa del genere volevo metterli insieme.
Quindi quattro quadrati è più il quadrato di quattro.
In questo momento, se lo faccio, mi dice solo che quattro al quadrato non sono definiti.
E questo perché nulla viene restituito o manca questa uscita.
Quindi, anche se stampa qualcosa che in realtà non dura, non invia nulla.
Quindi per farlo usiamo la parola chiave return.
Quindi è un cambiamento davvero semplice.
Torneremo indietro e invece di registrazione analoga, scriverò di nuovo.
Quindi la parola chiave return restituirà una cosa per funzione.
non avremo una sorta di istruzione if in cui invece di un'istruzione IF abbiamo
restituito una cosa e invece di Else abbiamo restituito qualcos'altro ma ancora solo una di quelle tornerà davvero.
Potremmo teoricamente avere più dichiarazioni di ritorno, ma solo il primo verrà effettivamente eseguito a meno che
Quindi in questo caso restituiremo X volte x.
Quindi, se eseguo questo quadratino
di quattro, puoi vedere che mi mostra 16 ma è leggermente diverso da prima.
Il modo in cui è stato stampato 16 vedrai questa freccia qui e questo mi dice che è un valore di ritorno.
Quindi, se solo annullo, non registro qualcosa di proprio come cancella registro per un numero di
stampa quattro, ma proprio sotto puoi vedere che c'è un valore di ritorno nel registro costante in realtà non restituito.
Questo spiega perché abbiamo visto così tanti indefiniti.
Se ti stavi chiedendo cosa sia.
Ho smesso di spiegarlo finché non avremo ottenuto la parola chiave di ritorno.
Quindi ogni funzione restituisce qualcosa.
E se non diciamo esplicitamente cosa restituire restituisce undefined.
Quindi, sembra che avessimo la nostra funzione quadrata e quando
l'avremmo eseguita è tornata indefinita anche se è stata stampata 16 ma è tornata indefinita.
Quindi, per usare il valore ora per catturare l'output di un quadrato
quadrato di quattro, se voglio usarlo da qualche altra parte, posso richiamare questa riga che sembra che questo 4 quadrato sia più quadrato di 4.
E questo funzionerà.
Passerà per un che moltiplica X volte x 16 e poi restituisce 16.
Lo manderà fuori dalla funzione e lo metterà proprio qui.
E così otteniamo quattro quadrati è 16.
L'altra cosa che posso fare con la parola chiave return è
salvarla in una variabile in modo da poter fare qualcosa di simile.
Il risultato Var è uguale a 104.
E ora se guardo i risultati ottengo diecimilaottocentosedici.
Quindi è stata valutata questa chiamata quadrata di 104 che ha restituito 10000 816, che è stato quindi memorizzato nel risultato.
Quindi ho un altro esempio di una funzione che restituisce qualcosa che si chiama maiuscola e contiene una
stringa come la parola Parigi e ciò che fa è la
prima lettera in maiuscolo e restituisce l'intera stringa con quella prima lettera in maiuscolo.
Quindi Parigi si trasforma in Parigi con la capitale P.
Quindi il punto centrale di questa funzione è che altera un po 'i dati
originali, quindi passiamo in stringa e quindi recuperiamo una versione della stringa che ha la prima lettera in maiuscolo.
La logica di come capitalizza effettivamente la prima lettera non è ciò che voglio sottolineare qui.
Quello che voglio sottolineare è che qui ho una città variabile che è Parigi in minuscolo P. E poi sto capitalizzando la città in maiuscolo e salvando il valore di ritorno su una nuova variabile.
Quindi questo è qualcosa che faremo molto eseguiremo una funzione, salvando il valore di ritorno
su una variabile in modo che possiamo usarlo di nuovo da qualche altra parte.
Quindi, se ti stai chiedendo come funziona questa funzione, la prima parte prende la prima lettera.
Quindi è il carattere nell'indice 0 e nel maiuscolo.
Quindi questo ci darebbe la maiuscola P e poi la stringa che prende un numero.
In questo caso 1.
In modo che prende tutto dall'indice 1 in poi.
A R Immagino tutto minuscolo
e lo distrugge insieme al segno più con la P maiuscola
Quindi stiamo capitalizzando la prima lettera e poi prendiamo tutto il resto dopo il primo carattere e combinando i due e restituendoli.
Quindi un altro aspetto della parola chiave return è che interrompe l'esecuzione di una funzione.
Quindi, non appena restituiamo qualcosa, la funzione viene eseguita.
Quindi il punto centrale di una funzione è che richiede una sorta di input e quindi restituisce qualcosa.
Quindi appena ritorna è solo la fine dell'esecuzione della funzione.
Quindi ecco un esempio.
Questa è la stessa funzione maiuscola tranne che con una piccola differenza.
E questo sta controllando se passiamo un numero invece
di una stringa che è ciò che fa questa linea se il tipo di input è uguale al numero, allora torniamo indietro che non è una stringa.
Non vogliamo preoccuparci di nulla di tutto ciò.
Quindi questo ritorno se passiamo e un numero andrà in cortocircuito e questo codice non funziona mai anche
se non c'è alcuna istruzione L.
Quindi questo codice dovrebbe essere eseguito.
In realtà non funziona affatto perché questo cortocircuito.
Se passiamo un numero altrimenti se passiamo in una stringa come Parigi questo non è vero.
Quindi questa dichiarazione di ritorno non viene mai eseguita.
E poi questa dichiarazione di ritorno è sbagliata.
Quindi l'ultima cosa che voglio aggiungere alla fine qui è che ci sono
due diverse sintassi per dichiarare una funzione e la prima è quella che abbiamo usato.
Si chiama dichiarazione di funzione.
Quindi scriviamo la funzione e quindi il nome della nostra funzione.
E poi passiamo gli argomenti dentro e riscriviamo il nostro corpo di funzione all'interno delle due parentesi.
C'è un altro modo di scrivere una funzione chiamata espressione di una funzione.
E il modo in cui lo facciamo è che in realtà scriviamo una variabile in maiuscolo e lo impostiamo uguale a una funzione.
Quindi questi sono due modi per definire funzioni equivalenti.
Questa è una dichiarazione e questa è un'espressione.
Quindi c'è una piccola differenza che è se dichiaro la funzione in questo modo var è uguale alla funzione.
Se ho appena deciso di cambiare in maiuscolo per essere uguale al numero 10 o il numero 15.
La mia funzione è persa.
Quindi ti mostrerò cosa intendo.
Quindi ho intenzione di dichiarare una funzione var.
Say hi è uguale a una funzione e tutte le funzioni non vengono cancellate.
Ciao.
Proprio così.
E così posso chiamare dire ciao e allo stesso modo delle dichiarazioni di funzioni che abbiamo visto.
Ma posso anche decidere che dire hi ora è uguale a 34.
Ora, se mi riferisco a dire ciao non riesco a valutarlo, non
posso più farlo funzionare come una funzione man mano che progrediamo nella classe.
Useremo le dichiarazioni e le espressioni e parleremo anche di più sul perché ne usereste uno
sull'altro.