Ultimele tutoriale de dezvoltare web
 

JavaScript Definiții ale funcțiilor


Funcțiile JavaScript sunt definite cu function de cuvinte cheie.

Puteți utiliza o declarație funcție sau o expresie funcție.


Declarații de funcții

Mai devreme în acest tutorial, ați învățat că funcțiile sunt declarate cu următoarea sintaxă:

function functionName ( parameters ) {
  code to be executed
}

funcțiile declarate nu sunt executate imediat. Acestea sunt "saved for later use" o (called upon) "saved for later use" , și va fi executat mai târziu, atunci când acestea sunt invocate (called upon) .

Exemplu

function myFunction(a, b) {
    return a * b;
}
Încearcă - l singur »

Virgulele sunt folosite pentru a separa declarații JavaScript executabile.
Deoarece o declarație funcție nu este o instrucțiune executabilă, nu este comun să se termine cu punct și virgulă.


Expresii funcționale

O funcție JavaScript poate fi definită folosind o expresie.

O expresie funcție poate fi stocată într-o variabilă:

Exemplu

var x = function (a, b) {return a * b};
Încearcă - l singur »

După o expresie funcție a fost stocată într-o variabilă, variabila poate fi utilizată ca o funcție:

Exemplu

var x = function (a, b) {return a * b};
var z = x(4, 3);
Încearcă - l singur »

Funcția de mai sus este de fapt o funcție anonimă (o funcție fără nume).

Funcții stocate în variabilele nu au nevoie de nume de funcții. Ele sunt întotdeauna invocate (called) folosind numele variabilei.

Funcția de mai sus se termină cu punct și virgulă, pentru că este o parte dintr-o instrucțiune executabilă.


Function() Constructor

După cum ați văzut în exemplele anterioare, funcțiile JavaScript sunt definite cu function de cuvinte cheie.

Funcțiile pot fi , de asemenea , definită cu un built-in funcția JavaScript constructor numit Function() .

Exemplu

var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);
Încearcă - l singur »

Tu de fapt, nu trebuie să utilizați funcția de constructor. Exemplul de mai sus este aceeași ca și scris:

Exemplu

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);
Încearcă - l singur »

Cele mai multe ori, puteți evita folosind new cuvânt cheie în JavaScript.


Function Hoisting

Mai devreme în acest tutorial, ați aflat despre "hoisting" .

Comportamentul de ridicare este implicit al JavaScript declarațiilor se deplasează la partea de sus a domeniului de aplicare curent.

Ridicat se aplică declarațiilor variabile și a declarațiilor de funcții.

Din acest motiv, funcțiile JavaScript pot fi numite înainte ca acestea sunt declarate:

myFunction(5) ;

function myFunction(y) {
    return y * y;
}

Funcțiile definite folosind o expresie nu sunt arborate.


Funcții-Invocarea auto-

Expresii funcționale pot fi făcute "self-invoking" .

O expresie de sine invocarea este invocată (started) în mod automat, fără a fi numit.

Expresiile Funcția va executa în mod automat în cazul în care expresia este urmată de () .

Nu se poate auto-invoca o declarație a funcției.

Trebuie să adăugați paranteze în jurul funcției pentru a indica faptul că acesta este o expresie funcție:

Exemplu

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
Încearcă - l singur »

Funcția de mai sus este de fapt o funcție anonimă auto invocând (funcția fără nume).


Funcțiile pot fi folosite ca valori

funcțiile JavaScript pot fi folosite ca valori:

Exemplu

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3);
Încearcă - l singur »

funcțiile JavaScript pot fi folosite în expresii:

Exemplu

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;
Încearcă - l singur »

Funcțiile sunt obiecte

typeof Operatorul în JavaScript returnează "function" pentru funcțiile.

Dar, funcțiile JavaScript pot fi cel mai bine descris ca obiecte.

Funcțiile JavaScript au atât proprietăți și metode.

Proprietatea arguments.length returnează numărul de argumente primite atunci când a fost invocată funcția:

Exemplu

function myFunction(a, b) {
    return arguments.length;
}
Încearcă - l singur »

toString() Metoda returnează funcția ca un șir de caractere:

Exemplu

function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString();
Încearcă - l singur »

O funcție definită ca proprietatea unui obiect, se numește metoda obiectului.
O funcție conceput pentru a crea noi obiecte, se numește un constructor obiect.