JavaScript Funtionsargument

JavaScript funktionutför ingen kontroll av parametervärden.

funktionens parametrar

På ett tidigare tillfälle i denna kurs har du lärt dig att funktioner kan haargument:

functionName(parameter1, parameter2, parameter3) {
    att utföra
}

funktionens parametrar (parameter)på de som listas i funktionens definition.betyder namnet.

funktionens parametrar (argument)betyder de faktiska värden som skickas till funktionen eller mottas av funktionen.Värde.

Parametrarules

Funktionens definition anger inte datatypen för parametrarna (parameter).

JavaScript-funktioner utför inte typkontroll på de överförda parametrarna (argument).

JavaScript-funktioner kontrollerar inte antalet mottagna parametrar (argument).

parametrarnas standardvärden

om du hoppar över att ange parametrar vid anropparametrarna har hopps över(färre än det deklarerade antalet), så de förlorade värdena sätts till:undefined.

Detta är ibland acceptabelt, men ibland är det bättre att ange standardvärden för parametrarna:

Exempel

function myFunction(x, y) {
    om (y === undefined) {
          y = 0;
    } 
}

Prova själv

om det finns fler parametrar vid funktionens anropför många parametrar(över de deklarerade), kan du använda arguments-objektetför att nå dessa parametrar.

arguments-objektet

JavaScript-funktioner har ett inbyggt objekt som kallas arguments.

arguments-objektet innehåller en array av parametrar som används vid funktionens anrop.

På detta sätt kan du enkelt använda funktionen för att hitta det högsta värdet i en nummerlista (t.ex.):

Exempel

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    för (i = 0; i < arguments.length; i++) {
        om (argumenterna[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

Prova själv

eller skapa en funktion för att summera alla inmatningsvärden:

Exempel

x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
    var i, sum = 0;
    för (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}

Prova själv

Argument överförs genom värde

Argument i funktionens anrop (parameter) är funktionens argument (argument).

JavaScript-argument överförs genomVärdeÖverför: funktionen vet bara värdet, inte parametrarnas plats.

Om funktionen ändrar parametrarnas värde, ändras inte ursprungsvärdet på parametrarna.

Ändringar av parametrar är osynliga utanför funktionen.

Objekt överförs genom referens

I JavaScript är objektreferenser värden.

Därför beter sig objekt som om deCitatKomma och passera:

Om funktionen ändrar objektets egenskaper, ändras också ursprungsvärdet.

Ändringar av objektets egenskaper är synliga utanför funktionen.