Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]rozszyfrowanie Skróconych instrukcji warunkowych z operatorami bitowymi
Forum PHP.pl > Forum > Przedszkole
spustredok
Ten przyklad:
  1. c=a<b?d:e

jest równoznaczne z:
  1. if(a<b)
  2. {
  3. c=d;
  4. }
  5. else
  6. {
  7. c=e;
  8. }

Powyzsza instrukcja oczywiscie jest zrozumiala, ale jak przedstawic taki zapis:
  1. last_height=heights[i++]=i<9|last_height<screen_width&Math.random()<.3?screen_width:Math.random()*unit+70|0;

Jak widac mamy tu operatory bitowe... i nie wiem jak to poukladac.
kamil4u
Kod
last_height=heights[i++]=i<9|last_height<screen_width&Math.random()<.3?screen_width:Math.random()*unit+70|0;

=
Kod
if( i<9|last_height<screen_width&Math.random()<.3 ){
last_height=screen_width;
} else {
last_height=Math.random()*unit+70|0;
}


Teraz do tego: https://developer.mozilla.org/en-US/docs/Ja...ator_Precedence

Dodatkowo:
- zapis coś|0 służy do wyeliminowania takich przypadków:
Kod
<script>
alert( null +" - "+ (null | 0) );
alert( undefined +" - "+ (undefined | 0) );
</script>


- zapis last_height=heights[i++]= służy do zapisanie tego samego w dwóch zmiennych na raz. Czyli np. a=b=2; w wyniku będzie a=2 i b=2;

Resztę musisz przemyśleć samemu. Już wiesz o co chodzi w zapisie, pozostaje zrozumienie tego, czego nie chciałbym robić samemu, ze względu na mój czas.

Pozdrawiam
spustredok
Super, dziekuje!
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.