JavaScript funcții sunt definite cufunction
cuvinte cheie.
puteți utiliza o declarație de funcții sau o expresie de funcții.mai devreme în acest tutorial, ați învățat că funcțiile sunt declarate cu următoarea sintaxă:
//code to be executed
}
funcțiile declarate nu sunt executate imediat., Acestea sunt „salvate pentru utilizare ulterioară” și vor fi executate mai târziu, când sunt invocate (solicitate).
exemplu
return a * b;
}
încercați-l singur ”
punct și virgulă sunt folosite pentru a separa declarații JavaScript executabile.
deoarece o declarație de funcții nu este o declarație executabilă, nu este obișnuit să se încheie cu punct și virgulă.
expresii funcționale
o funcție JavaScript poate fi de asemenea definită folosind o expresie.,
O funcție de exprimare pot fi stocate într-o variabilă:
Exemplu
Încercați să-l Singur ”
După o funcție de exprimare a fost stocat într-o variabilă, variabila poate fi folosit ca o funcție:
Exemplu
var z = x(4, 3);
Încercați să-l Singur ”
funcția de mai sus este de fapt o funcție anonim (o funcție fără un nume).funcțiile stocate în variabile nu au nevoie de nume de funcții. Ele sunt întotdeauna invocate (numite) folosind numele variabilei.,funcția de mai sus se termină cu punct și virgulă, deoarece face parte dintr-o instrucțiune executabilă.
Funcția() Constructor
după Cum ați văzut în exemplele anterioare, JavaScript funcții sunt definite cu function
cuvinte cheie.
funcțiile pot fi, de asemenea, definite cu un constructor de funcții JavaScript încorporat numit Function()
.,
exemplu
var x = myFunction(4, 3);
încercați singur ”
de fapt nu trebuie să utilizați constructorul de funcții. Exemplul de mai sus este la fel ca scrierea:
Exemplu
var x = myFunction(4, 3);
Încercați să-l Singur ”
de cele Mai multe ori, puteți evita folosind new
cuvinte cheie în JavaScript.,
funcția de ridicare
Mai devreme în acest tutorial, ați învățat despre „ridicare” (JavaScript ridicare).
ridicarea este comportamentul implicit JavaScript de a muta declarații în partea de sus a domeniului de aplicare curent.ridicarea se aplică declarațiilor variabile și declarațiilor funcționale.din acest motiv, funcțiile JavaScript pot fi apelate înainte de a fi declarate:
function myFunction(y) {
return y * y;
}
funcțiile definite folosind o expresie nu sunt ridicate.,
funcții de auto-invocare
expresii funcționale pot fi făcute „auto-invocare”.
o expresie de auto-invocare este invocată (pornită) automat, fără a fi apelată.
expresiile funcționale se vor executa automat dacă expresia este urmată de ().
nu se poate auto-invoca o declarație funcție.
trebuie să adăugați paranteze în jurul funcției pentru a indica faptul că este o expresie a funcției:
exemplu
var x = „Bună ziua!!,”;//Mă voi invoca
}) ();
încercați-l singur ”
funcția de mai sus este de fapt o funcție anonimă de auto-invocare (funcție fără nume).,
Funcții Pot Fi Utilizate ca Valori
funcții JavaScript poate fi folosit ca valori:
Exemplu
return a * b;
}
var x = myFunction(4, 3);
Încercați să-l Singur ”
JavaScript funcțiile pot fi utilizate în expresii:
Exemplu
return a * b;
}
var x = myFunction(4, 3) * 2;
Încercați să-l Singur ”
Funcțiile sunt Obiecte
typeof
operator în JavaScript se întoarce „funcție” pentru funcții.,
dar, funcțiile JavaScript pot fi cel mai bine descrise ca obiecte.
funcțiile JavaScript au atât proprietăți, cât și metode.
arguments.length
proprietatea returnează numărul de argumente primite atunci când funcția a fost invocată:
Exemplu
se întoarcă argumente.lungime;
}
Încercați să-l Singur ”
toString()
metoda returnează funcția ca un șir de caractere:
Exemplu
return a * b;
}
var txt = myFunction.,toString ();
încercați-l singur ”
o funcție definită ca proprietatea unui obiect, se numește o metodă a obiectului.
o funcție concepută pentru a crea obiecte noi, se numește constructor de obiecte.
funcții săgeată
funcții săgeată permite o sintaxă scurtă pentru scrierea expresiilor funcțiilor.
nu trebuie function
cuvinte cheie, return
cuvinte cheie, și acolade.,
Exemplu
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Încercați să-l Singur ”
Săgeată funcții nu au propriile lor this
.Ele nu sunt foarte potrivite pentru definirea metodelor obiect.
funcțiile săgeată nu sunt ridicate. Acestea trebuie definite înainte de a fi utilizate.
folosind const
este mai sigur decât folosind var
, deoarece o expresie funcție este întotdeauna valoare constantă.,
Vă puteți omite return
cuvinte cheie și acolade dacă funcția este o singură declarație. Din aceasta cauza, ar putea fi un obicei bun să le păstrați întotdeauna:
Exemplu
Încercați să-l Singur ”
Săgeată funcții nu sunt acceptate în IE11 sau mai devreme.