Olá, sou novo na area de JavaScript, mas estou empenhado a aprender estava tentando criar uma calculador igual a do windows mas na hora de fazer a função x^y me ocorreram diverssos erros. Este é o codigo que criei para fazer x na potência y: Essa é a function para escrever o resultado na minha input type text e as variaveis que usei ao longo do trabalho. <head>
<script>
var valor1;
var valor2;
var valor3;
var resultadosoma;
function resposta(resp){
respo = resultadosoma;
resp.value += respo;
}
</script>
</head>
Este é o botão que ativa a função x^y:
<input type=button value="x^y" onclick="
operacao = 4;
valor1 = parseInt(valores.value);
valor3 = parseInt(valores.value);
reset();
">
Este é quando clicar no botão = o if é porque existem varias outras operações alem desta então tive que usalo.
<input type=button value=" = " onclick="
valor2 = parseInt(valores.value);
reset();
if(operacao == 4){
for(x=valor2;x<=0;x--){
valor1 = valor3*valor1;
}
} A logica que usei neste operação foi a seguinte: O usuario digita o primeiro número suponhamos q seja 2, então ele clica no botão x^y que vai executar a função que ele está programado para fazer. então usuario digita um novo número suponhamos que seja 4 e clica no botão =. Até agora temos o seguinte: A função que o usuario pedio: 2 na quarta potência. As variaveis: Valor1=2, valor3=2 e valor2=4. Logo após isso ele vai executar o laço de repetição for que está dentro do if==4. No laço for temos o seguinte x = valor2 que é 4 agora, ele vai fazer oque está dentro das {} enquanto x<=1; e fara x--. isso fara com que ele execute 4 vezes o seguinte que é: primeira vez: valor1 = valor3*valor1; ou seja valor1 = 2*2 segunda vez: valor1 agora é 4 então temos valor1=2*4 porque valor3 sempre sera 2. e assim valor1 passa ser 8. e ao final de tudo o resultado era para ser 16. Mas o resultado é sempre o primeiro número que o usuario digitou neste caso 2. Se alguém achar oque está ocasionando este erro porfavor me informe obrigado.