JavaScript - parseInt

0

Witam,
Mam pytanie odnośnie JavaScript.
Skrypt:

<script>
var suma = parseInt(suma);
var a = parseInt(a);
var b = parseInt(b);
a = prompt ("Podaj liczbę a: ");
b = prompt ("Podaj liczbę b: ");
suma = a + b;
document.write(suma);
</script>

Dlaczego JS cały czas traktuje te zmienne jako wyrazy a nie liczby całkowite. Jak wpiszę w miejsce a 10, a w miejsce b 1 to suma jest równa 101. Dlaczego to tak nie działa? Wiem, że, gdy wpiszę tak "var a = parseInt(prompt ("Podaj liczbę a: "));", więc dlaczego nie działa tak jak jest powyżej?
Dzięki za odpowiedzi!

2

Operatorem + możesz zrzutować na number tj. var a = +prompt("Podaj liczbę a");

0

Metoda prompt() domyślnie zwraca string
*Return Value: A String. If the user clicks "OK", the input value is returned. If the user clicks "cancel", null is returned. If the user clicks OK without entering any text, an empty string is returned.*

Więc parseInt() musisz zastosować na wartości zwróconej przez prompt(), czyli:

a = parseInt(prompt ("Podaj liczbę a: "));
b = parseInt(prompt ("Podaj liczbę b: "));
0

A po co parsujesz zmienne tam gdzie je deklarujesz? ;)

var a = parseInt(a);
// a = undefined

1 użytkowników online, w tym zalogowanych: 0, gości: 1