Versione inglese: https://www.javascripttutorial.net/javascript-function-type/
Tutte le funzioni JavaScript sono oggetti. Sono le istanze del do tipo Função. Poiché le funzioni sono oggetti, hanno proprietà e metodi proprio come qualsiasi oggetto.
Ogni funzione ha due proprietà: lengtheprototype
length (lunghezza) determina il numero di argomenti specificatamente nominati nella dichiarazione della funzione.prototype (prototipo) si riferisce all'oggetto funzione reale.
La funzione swap()accetta due argomenti xe yquindi la proprietà lengthrestituisce 2.
Discuteremo la proprietà prototypein modo più dettagliato nel tutorial sui prototipi.
Normalmente, una funzione viene invocata semplicemente chiamandola. Per esempio:
E la funzione può essere chiamata come costruttore per creare un oggetto:
ES6 ha aggiunto una nuova proprietà chiamata target.newche consente di rilevare se una funzione fnviene chiamata come funzione normale fn()o come costruttore utilizzando l'operatore new fn().
Se una funzione viene chiamata normalmente fn(), new.targetverrà chiamata undefined.
D'altra parte, se la funzione viene chiamata utilizzando la parola chiave, newfarà riferimento al costruttore:
Un oggetto funzione ha tre metodi:
apply()call()bind()I metodi apply()e call()chiamano una funzione con un valore e argomenti dati.
La differenza tra apply()e call()è che è necessario passare gli argomenti al metodo apply()come oggetto array , mentre si passano gli argomenti alla funzione call()individualmente. Per esempio:
Innanzitutto, dichiariamo due oggetti cate dogcon due proprietà. Successivamente, dichiariamo la funzione say()che accetta un argomento.
Possiamo chiamare la funzione say()tramite il metodo appy()come segue:
Il primo argomento del metodo apply()è l'oggetto cat, quindi l'oggetto thisnella funzione say()è definito come un oggetto cat. Il secondo argomento è un argomento di tipo array , come indicato dall'uso di parentesi quadre [].
Se passiamo l'oggetto dog, la thisfunzione in say()sarà definita dogcome questa:
L'output è diverso perché o typee o soundsono le proprietà dell'oggetto dogall'interno della funzione say().
Il metodo call()è simile al metodo apply(), tranne per il modo in cui passi gli argomenti:
Il metodo bind()crea una nuova istanza di funzione il cui valore è collegato all'oggetto fornito. Considera il seguente esempio:
Per prima cosa, definisci un oggetto chiamato car:
Quindi, definire un altro oggetto denominato aircraft:
L'oggetto aircraftnon ha il metodo start(). Per avviarne uno aircraft, puoi utilizzare il metodo bind()del metodo start()dell'oggettocar:
In questa istruzione, cambiamo il valore thisall'interno start()del metodo cardell'oggetto nell'oggetto aircraft. Il metodo bind()restituisce una nuova funzione assegnata alla variabile taxiing.
Ora puoi chiamare il metodo start()tramite la variabile taxiing:
Mostrerà il seguente messaggio:
L'esempio seguente utilizza il metodo call()per chiamare il metodo start()dell'oggetto aircraft:
Come puoi vedere, il metodo bind()crea una nuova funzione che puoi eseguire in seguito mentre il metodo call()esegue immediatamente la funzione. Questa è la principale differenza tra i metodi bind()e call().
Tecnicamente, l'oggetto aircraftprende in prestito il metodo start()dell'oggetto cartramite il metodo bind(), call()o apply().
Per questo motivo, i metodi bind(), call()e apply()sono noti anche come funzioni di prestito.
Function, che sono oggetti. Hanno proprietà e metodi.namee prototype.call(), apply()e bind().Dai un'occhiata a una serie di altri tutorial su JavaScript che ho scritto facendo clic sul collegamento sottostante:
Tutorial JavaScript
Nel mondo interconnesso di oggi, la minaccia degli attacchi informatici è più diffusa che mai. I criminali informatici e gli attori dello stato-nazione cercano costantemente di sfruttare le vulnerabilità e rubare dati preziosi, ponendo un rischio significativo per le organizzazioni di tutte le dimensioni.
Quante volte vi è capitato di buttare via una bottiglia di plastica, un barattolo di vetro, una lattina di alluminio o una confezione di energia green senza pensarci due volte? Quante volte hai desiderato di poter ottenere qualcosa in cambio del loro riciclaggio? Se sei come la maggior parte delle persone, la risposta è probabilmente molte volte. Il riciclaggio è spesso visto come una seccatura, un lavoro di routine o un dovere che non porta alcun beneficio immediato o tangibile.
Per evitare ambiguità verranno utilizzati i seguenti termini; Autenticatore; Il telefono cellulare utilizzato per effettuare il login Sito web; Il sito Web o l'applicazione che l'utente sta utilizzando per effettuare la richiesta di accesso al Servizio; Il fornitore che fornisce il servizio dato, ad es
Era mezzanotte passata quando Hayden riportò Katie al dormitorio del college dopo la loro serata insieme. Aveva una lezione la mattina presto e non aveva un altro cambio di vestiti dopo essere stata con lui la sera prima.
Se vogliamo continuare a prosperare su questo pianeta, dovremo avere conversazioni pericolose. Quelli che mettono in discussione ciò che abbiamo fatto, ciò che stiamo facendo e ciò che attualmente intendiamo continuare a fare (o stiamo pianificando di fare).
Nel panorama aziendale in rapida evoluzione di oggi, il concetto di lavoro ibrido e remoto ha acquisito uno slancio senza precedenti. Mentre le aziende continuano ad adattarsi alle mutevoli esigenze e aspettative dei propri dipendenti, esperti di vari settori si sono riuniti per discutere i vantaggi, le sfide e il futuro di questo modo di lavorare trasformativo.