Parametry funkcji w JavaScript

JavaScript funkcjanie przeprowadzają żadnej kontroli wartości parametrów.

parametry funkcji

Wcześniej w tym kursie nauczyłeś się, że funkcje mogą miećparametry:

functionName(parameter1, parameter2, parameter3) {
    kod do wykonania
}

parametr funkcji (parameter)odnosi się do wartości wymienionych w definicji funkcjinazwa.

parametr funkcji (argument)odnosi się do rzeczywistych wartości przekazywanych do funkcji lub odbieranych przez niąWartość.

Zasady parametrów

Definicja funkcji JavaScript nie określa typu parametrów (parametrów).

Funkcje JavaScript nie przeprowadzają sprawdzania typu przekazanych argumentów (argumentów).

Funkcje JavaScript nie sprawdzają liczby otrzymanych argumentów (argumentów).

domyślne parametry

jeśli podczas wywoływania argumentówpominięto parametryJeśli (mniej niż deklarowane), utracone wartości są ustawiane na:undefined.

Czasami to jest akceptowalne, ale czasami lepiej jest przypisać wartości domyślne parametrom:

Przykład

function myFunction(x, y) {
    jeśli (y === undefined) {
          y = 0;
    } 
}

Spróbuj sam

Jeśli liczba argumentów wywołania funkcjizbyt wiele parametrówJeśli (więcej niż deklarowane), można użyć Obiekt argumentsaby uzyskać te parametry.

Obiekt arguments

JavaScript funkcja ma wbudowany obiekt o nazwie arguments.

Obiekt arguments zawiera tablicę argumentów używanych podczas wywołania funkcji.

W ten sposób możesz łatwo używać funkcji do wyszukiwania (np.) najwyższej wartości w liście liczb:

Przykład

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        jeśli (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

Spróbuj sam

Albo utwórz funkcję, aby sumować wszystkie wartości wejściowe:

Przykład

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;
}

Spróbuj sam

Parametry są przekazywane przez wartość

Parametry (parameter) w wywołaniu funkcji są parametrami (argumentami) funkcji.

Parametry JavaScript są przekazywane przezWartośćPrzekazujemy: funkcja wie tylko o wartości, a nie o pozycji parametru.

Jeśli funkcja zmienia wartość parametru, nie zmienia oryginalnej wartości parametru.

Zmiany parametrów są niewidoczne poza funkcją.

Obiekty są przekazywane przez odwołania

W JavaScript, odwołania obiektu są wartościami.

Dlatego obiekt zachowuje się, jakby był przekazywanyOdwołaniePrzekażmy:

Jeśli funkcja zmienia właściwości obiektu, zmienia również oryginalną wartość.

Zmiany właściwości obiektu są widoczne poza funkcją.