tutoriais mais recente desenvolvimento web
 

JavaScript Function Parameters


Uma função JavaScript não executa qualquer verificação em valores de parâmetros (argumentos).


Function Parameters e Arguments

Anteriormente, neste tutorial, você aprendeu que as funções podem ter parameters :

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

Function parameters são os nomes listados na definição da função.

Function arguments são os valores reais passados para (e recebidos pela) a função.


Regras de parâmetro

definições de função JavaScript não especificar os tipos de dados para os parâmetros.

funções JavaScript não executar verificação de tipo sobre os argumentos passados.

funções JavaScript não verificar o número de argumentos recebidos.


Padrões de parâmetros

Se uma função é chamado com argumentos ausentes (menos do que o declarado), os valores em falta são definidas como: indefinido

Às vezes, isso é aceitável, mas às vezes é melhor para atribuir um valor padrão para o parâmetro:

Exemplo

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    }
}
Tente você mesmo "

Se a função é chamada com muitos argumentos (mais do que o declarado), esses argumentos podem ser alcançadas usando os argumentos objeto.


O objeto arguments

funções JavaScript tem um built-in objeto chamado objeto de argumentos.

O objeto argumento contém uma matriz dos argumentos usados ​​quando a função foi chamada (chamada).

Desta forma, você pode simplesmente usar uma função para encontrar (por exemplo) o maior valor 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;
}
Tente você mesmo "

Ou criar 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;
}
Tente você mesmo "

Argumentos são passados ​​por valor

Os parâmetros, em uma chamada de função, são argumentos da função.

Argumentos JavaScript são passados por valor: A função só começa a conhecer os valores, e não locais do argumento.

Se uma função altera o valor de um argumento, isso não muda o valor original do parâmetro.

Alterações aos argumentos não são visíveis (refletido) fora da função.


Os objetos são passados ​​por referência

Em JavaScript, referências de objeto são valores.

Devido a isso, os objetos irão se comportar como eles são passados por referência:

Se uma função altera uma propriedade do objeto, ele altera o valor original.

Alterações de se opor propriedades são visíveis (refletido) fora da função.