Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] operator ~
Forum PHP.pl > Forum > Przedszkole
yta
Witam, od wczoraj widzialem kilka skryptów JavaScript i oni w swojej budowie wykorzystują znak ~ . Czasami dawany jest podwójnie . Przeleciałem przez kilka turiali i nie doszukalem się , co on robi tak w goole ?
Maxik
Jest to operacja bitowa NOT, przeprowadzana na wszystkich bitach. Tu masz ładnie opisane: https://developer.mozilla.org/en-US/docs/Ja...twise_Operators
john_doe
Postawiona tylda (operator bitowy!) przed liczbą n daje -(n+1). Na przykład:
  1. alert(~1); // daje -2
  2. alert(~2); // daje -3
  3. alert(~-1); // daje 0


Szczególnie pomocne jest to przy okazji funkcji, które zwracają -1. Zamiast pisać:
  1. if (returned === -1)


możesz
  1. if (!~returned) // jeśli prawda, że zostało zwrócone -1 to...


Z kolei dwie tyldy ułatwiają zaokrąglanie liczb. Jest to najszybsza metoda – i składniowo, i jeśli chodzi o rzeczywisty czas wykonywania:
  1. alert(~~2.5553434); // daje 2


Crozin
@john_doe: Można podać jako "ciekawostkę" takie wykorzystanie operatora ~, ale nawet nie sugeruj możliwości faktycznego skorzystania z takich potworków.
Pawel_W
Cytat(john_doe @ 9.12.2012, 16:00:26 ) *
Z kolei dwie tyldy ułatwiają zaokrąglanie liczb. Jest to najszybsza metoda – i składniowo, i jeśli chodzi o rzeczywisty czas wykonywania:
  1. alert(~~2.5553434); // daje 2

tak działa chyba podłoga, a nie zaokrąglanie, chyba że coś przeoczyłem na lekcjach matematyki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.