Javascript função com parâmetros?

5 respostas Resolvido
javascriptcode
H

Estou declarando uma função no código JavaScript :

<p id="demo"></p>
<script>

function myfunction(p1,p2)
{
    return p1 * p2;
    document.getElementById("demo").innerHTML = myfunction(300,300);
}

eu não entendi travei nessa parte?

5 Respostas

Dragoon

DEMO 1

Eu não sei bem o que está te travando, mas, o código em si está errado deveria ser:

<p id="demo"></p>
<script>

function myfunction(p1,p2)
{
    // valores inteiros  
    return parseInt(p1) * parseInt(p2); // ou
    //valores númericos com virgulas
    //return parseFloat(p1) * parseFloat(p2); 
}
document.getElementById("demo").innerHTML = myfunction(300,300);

Porque: em uma função o return significa a saída dessa função, então no seu código ele saia e não executava a próxima linha que era document ....

DEMO 1


Outra forma (eu não recomendo essa forma, porque, acaba limitando a função há apenas um item na tela, mas, fica como exemplo) :

DEMO 2

<p id="demo"></p>
function myfunction(p1,p2)
{
    document
            .getElementById("demo")
            .innerHTML = parseInt(p1) * parseInt(p2); 
}
myfunction(300,300);

DEMO 2

H

Eu não entendi, tipo um parâmetro é uma variável local, o que ele representa?

Quando eu cria um parâmetro dentro de função ele se relaciona com valor que eu re-declarar no valor de uma função?

Exemplo

function mufuntion(p1 , p2)
{
     p1 * p2 
    myfunction(300,500);
}
Dragoon
Solucao aceita

Um paramento dessa função é um variável local da função, aonde suas mudanças só ocorreram dentro do escopo da função, exemplo:

var item = 10;

function myfunction(p1)
{
     p1 = p1 + 5;
    alert(p1);
}

myfunction(item);

alert(item);

dentro da função o valor de 10 vai ser 15 pela adição de 5, e no segundo código (alert(item)) vai mostrar 10;, sendo assim a mudança só vai ocorrer dentro do escopo da função e ele representa um valor qualquer, no caso de javascript é dinâmico.

A segunda resposta está relacionado com a primeira que eu já expliquei logo acima, ao criar uma variável dentro da função, pode alterar o valor dentro da função somente. No caso acima do seu exemplo gerará um loop infinito ocasionando erros e travamentos do seu código, porque, o mesmo não ter fim. Realmente eu não entendi a segunda pergunta!

H

Obrigado.

no caso, quando declarou um parâmetro dentro da função , não precisa da palavra chave ’ var ’ ?
por que é considerado uma variável local da função.

Dragoon

Se você colocar ou não nesse caso especifico não muda nada! pode colocar o var que vai ficar somente dentro do escopo da função

Leia essa resposta por favor vai clarear bastante para você

Criado 12 de julho de 2016
Ultima resposta 13 de jul. de 2016
Respostas 5
Participantes 2