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?
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?
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 ...
.
Outra forma (eu não recomendo essa forma, porque, acaba limitando a função há apenas um item na tela, mas, fica como exemplo) :
<p id="demo"></p>
function myfunction(p1,p2)
{
document
.getElementById("demo")
.innerHTML = parseInt(p1) * parseInt(p2);
}
myfunction(300,300);
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);
}
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!
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.
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