Parâmetros de Função JavaScript

JavaScript funçãonão realiza nenhuma verificação de valor do parâmetro.

parâmetro da função

No início deste tutorial, você já aprendeu que uma função pode terparâmetro:

functionName(parameter1, parameter2, parameter3) {
    código a ser executado
}

parâmetro da função (parâmetro)refere-se aosnome.

parâmetro da função (argumento)refere-se ao valor realValor.

regras de parâmetro

A definição da função JavaScript não especifica o tipo de dados dos parâmetros (parâmetros).

A função JavaScript não realiza verificação de tipo para os parâmetros (argumentos) passados.

A função JavaScript não verifica a quantidade de parâmetros (argumentos) recebidos.

padrão de parâmetros

Se omitir parâmetros na chamada de parâmetrosparâmetros omitidosSe (menos do que o declarado), o valor丢失 será configurado como:undefined.

Às vezes isso é aceitável, mas às vezes é melhor especificar valores padrão para os parâmetros:

Exemplo

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

Experimente você mesmo

Se a chamada da funçãomuitos parâmetrosSe (ultrapassar o declarado), você pode usar O objeto argumentspara alcançar esses parâmetros.

O objeto arguments

A função JavaScript tem um objeto interno chamado arguments.

O objeto arguments contém o array de parâmetros usado na chamada da função.

Desta forma, você pode usar simplesmente a função para encontrar (por exemplo) o valor mais alto em uma lista de números:

Exemplo

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

Experimente você mesmo

Ou crie uma função para somar todos os valores de entrada:

Exemplo

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

Experimente você mesmo

Os parâmetros são passados por valor

Os parâmetros (parameter) na chamada da função são os argumentos (argument) da função.

Os parâmetros do JavaScript são passados porValorPassagem: a função sabe apenas o valor e não a posição do parâmetro.

Se a função muda o valor do parâmetro, ela não muda o valor original do parâmetro.

As mudanças nos parâmetros são invisíveis fora da função.

Os objetos são passados por referência

No JavaScript, as referências de objetos são valores.

Por isso, o comportamento dos objetos é como se eles fossem passadosReferênciaPara passar:

Se a função muda a propriedade do objeto, ela também muda o valor original.

As mudanças nas propriedades do objeto são visíveis fora da função.