JavaScript (Italiano)

Le funzioni sono la base di basolarità in JavaScript. Sono usati per riutilizzare il codice, nascondere informazioni e astrazione. Come regola generale, le funzioni vengono utilizzate per specificare il comportamento degli oggetti, sebbene le funzioni possano essere definite al di fuori degli oggetti.

Le funzioni in JavaScript sono definite dalla parola riservata function, seguito dal nome della funzione. La sua definizione formale è la seguente:

Definizione del diagramma di una funzione

Diagramma di definizione del diagramma del Corpo di una funzione

function nombre_funcion() { ...}

Il nome della funzione viene utilizzato per chiamare quella funzione quando necessario. Il concetto è lo stesso delle variabili, che sono assegnati un nome univoco per poterli utilizzare all’interno del codice. Dopo il nome della funzione, due parentesi sono incluse dove indicheremo i parametri della funzione. Infine, i simboli { e } vengono utilizzati per racchiudere tutte le istruzioni appartenenti alla funzione.

7.1 Oggetto Funzioni

Le funzioni in JavaScript sono oggetti. Le funzioni sono oggetti collegati con Function.prototype (che a turno collegamenti con Object.prototype), che includono due proprietà nascoste: il contesto della funzione e Il codice che implementa il suo comportamento.

Ogni funzione in JavaScript viene creata con una proprietà protoype. Il suo valore è un oggetto con una proprietà costruttore il cui valore è la funzione stessa. Questo è diverso dal collegamento nascosto a Function.prototype. Vedremo il significato di questa costruzioni complicata più tardi. Poiché le funzioni sono oggetti, possono essere utilizzati come qualsiasi altro valore. Possono essere memorizzati in variabili, oggetti o array. Possono essere passati come argomenti ad altre funzioni e possono essere restituiti da altre funzioni. Inoltre, essendo oggetti, possono anche avere metodi. Ciò che li rende davvero speciali è che possono essere chiamati.

7.2 Argomenti e valori di ritorno

Le funzioni più semplici non hanno bisogno di informazioni per produrre i loro risultati, anche se la cosa normale è che hanno bisogno di dati per produrre risultati. Le variabili che le funzioni necessarie sono chiamate argomenti. Prima di poterli utilizzare, la funzione dovrebbe indicare quanti argomenti necessari e qual è il nome di ogni argomento. Inoltre, quando si chiama la funzione, dovrebbero essere trasmessi i valori (o le espressioni) che verranno trasmessi alla funzione. Gli argomenti sono indicati all’interno delle parentesi che vanno dietro il nome della funzione e separano con una virgola (,).

var s = function suma_y_muestra(n1, n2) { ... }

Avanti, per utilizzare il valore degli argomenti all’interno della funzione, è necessario utilizzare lo stesso nome con il quale sono stati definiti gli argomenti:

var s = function suma_y_muestra(n1, n2) { var resultado = n1 + n2; console.log("El resultado es " + resultado);}

All’interno della funzione, il valore della variabile n1 sarà uguale al primo valore che viene passato alla funzione e al valore di La variabile n2 sarà uguale al secondo valore passato.

Le funzioni non possono solo ricevere variabili e dati, ma anche possono restituire i valori Hanno calcolato. Per restituire i valori all’interno di una funzione, viene utilizzata la parola riservata return. Sebbene le funzioni possano restituire i valori di qualsiasi tipo, possono restituire un valore solo ogni volta che vengono eseguiti.

var c = function (precio) { var impuestos = 1.21; var gastosEnvio = 10; var precioTotal = ( precio * impuestos ) + gastosEnvio; return precioTotal;}

Per la funzione restituisce un valore, è necessario scrivere solo la parola riservata return insieme al nome della variabile che si desidera tornare. Nell’esempio precedente, l’esecuzione della funzione raggiunge l’istruzione e in quel momento, restituisce il valore che contiene la variabile precioTotal.

Poiché la funzione restituisce un valore, nel punto in cui viene effettuata la chiamata, il nome di una variabile è indicato in cui viene salvato il valore restituito:

Se il nome di qualsiasi variabile non è indicato, JavaScript non mostra errori e il valore restituito dalla funzione è semplicemente perso e quindi non sarà utilizzato nel resto di il programma. Se la funzione raggiunge un’istruzione di tipo return, viene restituito il valore indicato e viene restituita l’esecuzione della funzione. Pertanto, tutte le istruzioni incluse dopo un return vengono ignorate e per questo motivo l’istruzione return è solitamente l’ultima delle più funzioni.

7.3 Chiamate

Chiamare una funzione Sospendere l’esecuzione della funzione corrente, passando il controllo e i parametri alla nuova funzione.Oltre agli argomenti dichiarati, tutte le funzioni ricevono due argomenti extra: this e arguments. Il parametro this è molto importante, la programmazione orientata agli oggetti e il suo valore è determinato dal modello di chiamata utilizzato. Ci sono quattro modelli di chiamata in JavaScript: il motivo chiamato method, il modello di chiamata function, il modello di chiamata constructor e il modello di chiamata apply.

7.3.1 Argomenti

Il parametro extra disponibile nelle funzioni è l’array arguments. Dà l’accesso alla funzione a tutti gli argomenti passati alla chiamata, compresi gli argomenti aggiuntivi che non corrispondono ai parametri definiti nella funzione. Ciò consente di scrivere funzioni che prendono un numero indefinito di parametri.

var sum = function() { var i, sum = 0; for (i = 0; i < arguments.length; i += 1) { sum += arguments; } return sum;}; document.writeln(sum(4, 8, 15, 16, 23, 42)); // 108

A causa di un problema di progettazione, arguments non è davvero un array, ma un oggetto che si comporta come un array. Ha la proprietà length, ma non include il resto dei metodi di array.

7.4 Funzioni ammonicabili Autoexcutable

Un modello comune in JavaScript sono le funzioni anonime auto-eseguibili. Questo modello è quello di creare un’espressione di funzione e eseguirlo immediatamente.

(function(){ var foo = 'Hola mundo';})(); console.log(foo); // indefinido (undefined)

7.5 Funzioni come argomenti

In JavaScript, le funzioni possono essere assegnate a variabili o passa ad altre funzioni come argomenti. Nei frameworks come jQuery, ad esempio, passando le funzioni come argomenti è una pratica molto comune.

var myFn = function(fn) { var result = fn(); console.log(result);}; myFn(function() { return 'hola mundo'; }); // muestra en la consola 'hola mundo' var myOtherFn = function() { return 'hola mundo';}; myFn(myOtherFn); // muestra en la consola 'hola mundo'

7.6 Scope

7.6

Lo scopo in un linguaggio di programmazione controlla la visibilità e il ciclo di vita delle variabili e dei parametri. Ad esempio:

var foo = function () { var a = 3, b = 5; var bar = function () { var b = 7, c = 11; // En este punto, a es 3, b es 7, y c es 11 a += b + c; // En este punto, a es 21, b es 7, y c es 11 }; // En este punto, a es 3, b es 5, y c es undefined bar(); // En este punto, a es 21, b es 5};

La maggior parte delle lingue, con la sintassi C, ha una gamma di blocchi. Tutte le variabili definite in un blocco (le istruzioni definite tra i tasti) non sono visibili al di fuori di quel blocco. Sfortunatamente, JavaScript non ha quella visibilità del blocco, anche se la tua sintassi potrebbe suggerirla, e questa può essere una fonte di problemi. JavaScript ha un intervallo di funzioni: ciò significa che i parametri e le variabili definiti all’interno di una funzione non sono visibili al di fuori di tale funzione, e che una variabile definita ovunque nella funzione, sia visibile da qualsiasi punto all’interno di tale funzione.

7.7 Funzioni di chiusura

Buone notizie sulla visibilità, è che le funzioni interne possono accedere ai parametri e alle variabili delle funzioni in cui sono state definite (ad eccezione di this e arguments). Prima che abbiamo definito un oggetto che aveva una proprietà value e un increment. Supponiamo che vogliamo proteggere quel valore cambiamenti non autorizzati. Invece di inizializzare quell’oggetto come letterale, lo inizializza chiamando una funzione che restituisce un oggetto letterale. Definiremo una variabile value e un oggetto di ritorno con increment e getValue:

var myObject = (function () { var value = 0; return { increment: function (inc) { value += typeof inc === 'number' ? inc : 1; }, getValue: function () { return value; } };}());

In questo caso, sia il metodo increment AS getValue ha accesso alla variabile value, ma a causa del suo campo di applicazione, il resto dell’applicazione non ha accesso al suo valore.

7.8 CALLBACKS

Le funzioni possono facilitare il lavoro con metodi asincroni. Supponiamo il caso successivo in cui facciamo una petizione al server:

request = prepare_the_request();response = send_request_synchronously(request);display(response);

Il problema qui, è che non vediamo l’ora La risposta del server, quindi blocciamo l’esecuzione dello script fino a quando non ricevi una risposta. Una strategia molto migliore è quella di fare una chiamata asincrona, fornendo una funzione di risposta (callback) che verrà eseguito quando la risposta è disponibile:

7.9 Esecuzioni a cascata

Alcuni metodi non restituiscono alcun tipo di dati, è possibile modificare semplicemente lo stato di qualche tipo di dati. Se facciamo questi metodi restituire this invece di undefined, possiamo catenere l’esecuzione di quei metodi a cascata. Le funzioni della cascata possono permetterci di scrivere dichiarazioni di questo tipo:

getElement('myBoxDiv') .move(350, 150) .width(100) .height(100) .color('red') .border('10px outset') .padding('4px') .appendText("Please stand by") .on('mousedown', function (m) { this.startDrag(m, this.getNinth(m)); }) .on('mousemove', 'drag') .on('mouseup', 'stopDrag') .tip('This box is resizeable');

esercizio 6

Vedi enunciazione

esercizio 7

Visualizzazione di visualizzazione

Esercizio 8

Vedi enunciazione

Esercizio 9

Visualizzazione di visualizzazione

Esercizio 10

Vedi enunciazione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *