Ultimele tutoriale de dezvoltare web
 

JavaScript Function Parameters


O funcție JavaScript nu efectuează nici un control asupra valorilor parametrilor (arguments) .


Function Parameters de Arguments Function Parameters și Arguments

Mai devreme în acest tutorial, ați învățat că funcțiile pot avea parameters :

functionName ( parameter1, parameter2, parameter3 ) {
    code to be executed
}

Function parameters sunt denumirile enumerate în definiția funcției.

Function arguments sunt valorile reale transmise la (and received by) funcția.


Reguli Parametru

definiții de funcții JavaScript nu specificați tipurile de date pentru parametrii.

funcțiile JavaScript nu efectuează tip de verificare pe argumentele transmise.

funcțiile JavaScript nu verifica numărul de argumente primite.


valori prestabilite Parametru

Dacă o funcție se numește cu argumente care lipsesc (less than declared) , valorile care lipsesc sunt setate la: nedefinit

Uneori, acest lucru este acceptabil, dar uneori este mai bine să atribuie o valoare implicită pentru parametrul:

Exemplu

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    }
}
Încearcă - l singur »

Dacă o funcție este apelată cu prea multe argumente (more than declared) cele (more than declared) , aceste argumente pot fi atinse folosind argumentele obiect.


Argumentele obiect

funcțiile JavaScript au încorporat un obiect numit argumentele obiect.

Obiectul argument conține o serie de argumentele folosite atunci când funcția a fost numită (invoked) .

Astfel , puteți utiliza pur și simplu o funcție pentru a găsi (for instance) cea mai mare valoare într - o listă de numere:

Exemplu

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}
Încearcă - l singur »

Sau creați o funcție pentru a rezuma toate valorile de intrare:

Exemplu

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}
Încearcă - l singur »

Argumentele sunt transmise prin valoare

Parametrii, într-un apel de funcție, sunt argumentele functiei.

Argumentele JavaScript sunt transmise prin valoare: Funcția devine doar să cunoască valorile, nu locațiile argumentului.

Dacă o funcție modifică valoarea unui argument, aceasta nu se schimba valoarea inițială a parametrului.

Modificările aduse argumente nu sunt vizibile (reflected) în afara funcției.


Obiectele sunt transmise prin referință

În JavaScript, referințele obiect sunt valori.

Din acest motiv, obiectele se vor comporta ca acestea sunt transmise prin referință:

În cazul în care o funcție schimbă un obiect de proprietate, se schimbă valoarea inițială.

Modificări de opoziție proprietăți sunt vizibile (reflected) în afara funcției.