English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Breve discussione sulle differenze nei modi di definizione delle funzioni JavaScript

Ci sono due modi di definire le funzioni in JavaScript:

(1) Dichiarazione tipica della funzione

function slide(arguments){
//...code
}

(2) Definire la funzione con l'espressione di funzione

var slide = function(arguments){
//...code
}

Nonostante le due modalità siano logicamente equivalenti, ci sono alcune piccole differenze:

Differenza uno:Nell'esempio uno, la funzione viene caricata nella visibilità prima dell'esecuzione del codice, mentre nell'esempio due viene definita solo quando il codice arriva a quella riga;

Differenza due:La dichiarazione della funzione assegna un nome alla funzione, mentre l'espressione della funzione crea una funzione anonima e la assegna a una variabile;

Ecco un esempio:

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial); // Output factorial() {}, con nome della funzione

Se si definisce con espressione di funzione

var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial); // Output function() {}, funzione anonima

Questo è tutto il contenuto del breve discorso dell'autore sui diversi modi di definire le funzioni JS che ti ho portato, spero che tu mi supporti e gridi forte il tutorial!

Ti potrebbe interessare