[JavaScript] dodawanie/odejmowanie

0

Dlaczego poniższe kody nie działają?

document.getElementById('p').innerHTML = parseInt(document.getElementById('p').innerHTML + 1);

document.getElementById('a').innerHTML = parseInt(document.getElementById('a').innerHTML - 1);

Skrypt źle dodaje i odejmuje, co źle robię?

0

Nawias postawiłeś w złym miejscu ( za daleko ;) )

0

document.getElementById('p').innerHTML = ~~document.getElementById('p').innerHTML + 1;

0

@Deti:
Matko Święta!

Czy jest jakaś istotna przewaga stosowania w tym przypadku tej dziwacznej kombinacji operatorów ~~foo nad napisaniem po prostu +foo (jednoargumentowy plus)? :P

Jeśli miałbym używać skrótów w postaci operatorów, wolałbym to już zapisać tak:

document.getElementById('p').innerHTML = +document.getElementById('p').innerHTML + 1;

Naturalnie, gdy chcemy zrobić niejawny parseInt na czymś w środku wyrażenia, można użyć nawiasów (2 + (+foo) * 3), ale tutaj nie jest to konieczne.

PS. Nie wiem który raz od 10 lat widzę użycie w JavaScripcie operatora ~. Drugi? Piąty? ;)

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