Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dodawanie i odejmowanie zmiennej, Nauka JS
Barcelona
post
Post #1





Grupa: Zarejestrowani
Postów: 322
Pomógł: 15
Dołączył: 29.01.2010

Ostrzeżenie: (0%)
-----


Witam, wziąłem się za naukę JS. I na samym początku mam taką małą zagwozdkę.

[JAVASCRIPT] pobierz, plaintext
  1. var zmienna = "37";
  2. zmienna = zmienna + 1 //zwróci "371"
  3. zmienna = zmienna - 1 //zwróci 36
[JAVASCRIPT] pobierz, plaintext


Czemu dodawanie działa inaczej niż odejmowanie ?

Uczę się z tego tutka doman.art.pl a ten przykład znajduje się w dziale "Konwersja danych"

Ten post edytował Barcelona 3.01.2012, 12:50:36
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W JS operator "+" jest przeciążony dla zmiennych tekstowych i działa jako operator konkatenacji (łączenia) dwóch tekstów. Jeżeli jednym z operandów jest tekst, a drugim liczba, ta ostatnia zamieniana jest na tekst po czym oba są ze sobą łączone.
W przypadku operatora odejmowania zmienna tekstowa konwertowana jest na liczbę i od jej wartości odejmowana jest liczba 1.
Go to the top of the page
+Quote Post
kaem
post
Post #3





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Zadeklarowałeś zmienną jako typ string, a znak '+' służy w JS do łączenia stringów, więc do stringa "37" zostaje doczepiony znak '1'.
Jeśli chodzi o 'zmienna = zmienna - 1': ponieważ znak minusa nie jest znakiem specjalnym w JS, interpreter zakłada, że chcesz dokonać operacji odejmowania, dlatego też niejawnie dokonuje konwersji stringa do liczby, co w tym przypadku nie jest problemem. Spróbuj dać 'var zmienna = "jakis_string";' i to już się nie uda.
PS. jeśli chcesz wykonywać operacje arytmetyczne na liczbach zadeklarowanych jako string musisz użyć parseInt() albo parseFloat().

Ten post edytował kaem 3.01.2012, 12:55:08
Go to the top of the page
+Quote Post
Barcelona
post
Post #4





Grupa: Zarejestrowani
Postów: 322
Pomógł: 15
Dołączył: 29.01.2010

Ostrzeżenie: (0%)
-----


Ok, dzięki za pomoc smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:28