Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]rozszyfrowanie Skróconych instrukcji warunkowych z operatorami bitowymi
-spustredok-
post
Post #1





Goście







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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


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


--------------------
Go to the top of the page
+Quote Post
-spustredok-
post
Post #3





Goście







Super, dziekuje!
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: 19.08.2025 - 14:43