Como passar e usar argumentos para código com javascript

Para que as funções de javascript para ser capaz de fazer a mesma coisa com entrada diferente, eles precisam de uma maneira para os programadores para dar-lhes a entrada. A diferença entre parâmetros e argumentos podem ser confuso no início. Veja como funciona:

  • Os parâmetros são os nomes especificados na definição da função.

  • Os argumentos são os valores que você passa para a função. Eles assumem os nomes dos parâmetros quando eles são passados.

Quando você chamar uma função, você incluir dados (argumentos) nos lugares onde a definição da função tem parâmetros. Note-se que os argumentos passados ​​para a função devem ser listados na mesma ordem que os parâmetros na definição da função.

No seguinte função, dois parâmetros estão definidos para a myTacos função:

myTacos função (carne, produtos) {...}

Quando você chamar essa função, você incluir dados (argumentos) nos lugares onde a definição da função tem parâmetros.

myTacos (# 147-beef # 148 -, # 148-cebolas # 148 -) -

Os valores passados ​​para a função se tornará os valores das variáveis ​​locais dentro da função e será dado os nomes dos parâmetros da função.

O código abaixo expande a myTacos função para imprimir os valores dos dois argumentos para o console. Passando um argumento é como usar uma var instrução dentro da função, excepto que os valores podem vir de fora da função.

myTacos função (carne, produtos) {console.log (carne) - // escreve # 147-beef # 148-console.log (produzir) - // escreve # 147-cebolas # 148-} myTacos (# 147-beef # 148 -, # 148-cebolas # 148 -) -

Você pode especificar até 255 parâmetros em uma definição de função. No entanto, você geralmente não precisa de muitos parâmetros. Se você achar que precisa de um monte de parâmetros, você deve pensar sobre se há uma maneira melhor de fazer isso.

Passando argumentos por valor

Se você usar uma variável com um dos tipos de dados primitivos para passar o seu argumento, o argumento passa por valor. O que isto significa é a nova variável criada dentro da função é totalmente separada da variável usada para transmitir o argumento, e não importa o que acontece depois que o valor entra na função, a variável fora da função não vai mudar.

tipos de dados primitivos em javascript são corda, número, boolean, Indefinido, e nulo.

Neste código, você vê que diversas variáveis ​​são criados, valores dados, e depois passado para uma função. Neste caso, os parâmetros da função têm os mesmos nomes das variáveis ​​utilizadas para passar os argumentos. Apesar de os valores das variáveis ​​dentro da função obter alterado, os valores das variáveis ​​originais permanecem o mesmo.

Argumentos passados ​​por valor 

Aqui está a saída deste programa no console javascript.

Variáveis ​​fora de uma função aren't affected by what happens inside the function.
Variáveis ​​fora de uma função não são afetados pelo que acontece dentro da função.

Passando argumentos por referência

Considerando variáveis ​​primitivas javascript são passados ​​para funções por valor, objetos javascript são passados por referência. O que isto significa é que se você passar um objeto como um argumento para uma função, quaisquer alterações a esse objeto dentro da função também irá alterar o valor fora da função.

Chamar uma função sem todos os argumentos

Você não precisa sempre chamar uma função com o mesmo número de parâmetros como estão listados na definição da função. Se a definição de função contém três parâmetros, mas você chamá-lo com apenas dois, o terceiro parâmetro irá criar uma variável com um valor de Indefinido na função.

Definir valores de parâmetro padrão

Se você quiser argumentos padrão para algo que não seja Indefinido, você pode definir valores padrão. A forma mais amplamente apoiado e geralmente aceite de fazer isso é para testar os argumentos dentro do valor da função e definir valores padrão se o tipo de dados do argumento é Indefinido.

Por exemplo, esta função recebe um parâmetro. Dentro da função, é feito um teste para verificar se o argumento é Indefinido. Se assim for, que irá ser definido como um valor padrão.

função de boas-vindas (yourName) {if (typeof yourName === 'indefinido') {yourName = # 147 Amigo # 148--}

Na próxima versão do javascript, chamado ECMAScript 6, você será capaz de definir valores padrão para os parâmetros dentro da cabeça função.

função de boas-vindas (yourName = # 147 Amigo # 148-) {document.write (# 147-Olá, # 148- + yourName) -}

EMCAScript 6 ainda não é suportada em todos os navegadores. Por esta razão, ainda é melhor usar o método mais compatível de estabelecer padrões.

Chamar uma função com mais argumentos do que os parâmetros

Se você chamar uma função com mais argumentos do que o número de parâmetros, variáveis ​​locais não serão criadas para os argumentos adicionais porque a função não tem nenhuma maneira de saber o que chamá-los.

Há um truque que você pode usar para recuperar os valores de argumentos que são passados ​​para uma função, mas não têm um parâmetro Coincidindo: o Argumento objeto.

Entrar em argumentos com o objeto de argumentos

Quando você não sabe quantos argumentos serão passados ​​para uma função, você pode usar o objeto argumento, que é embutido para funções de javascript, para recuperar todos os argumentos e fazer uso deles.

o argumentos objeto contém uma matriz de todos os argumentos passados ​​para uma função. Por looping através da matriz, você pode fazer uso de todos os argumentos, mesmo se o número de argumentos pode mudar cada vez que a função é chamada.

Este código demonstra o uso do argumentos opor-se a apresentar uma mensagem de boas-vindas a alguém com dois nomes do meio, bem como alguém com um nome do meio.

Mensagem de boas-vindas 

menu