Nova dimenzija izraza "nečitljiv programski kod". (JavaScript)
Nealfanumerički JavaScript kod može se pisati samo pomoću slijedećih: znakova ()[]{}!+.
Što rade ti znakovi u JSu? Evo kratkog pregleda:
[] - pristup nizovima, svojstvima objekta, brojevima i elementu kao stringu
() - poziv funkcija i izbjegavanje greške
+ -- zbrajanje stringova i brojeva i pretvaranje elemente u brojeve
! -- logički NE, pretvara elemente u boolean
{} - vraća NaN te onaj ružan "[object Object]"
Kombinacijom ovih znakova, zbrajanjem, dodavanjem, heklanjem itd. može se dobiti bilo koji drugi string, izraz, pa i cijela skripta.
Primjerice, string "Hello, World" se piše ovako:
+((+{}+[])[+[]]+(+{}+[])[+!![]]+(+{}+[])[+[]])
Cijela stvar je fino opisana u tekstu Brainfuck beware: JavaScript is after you!, a ovdje se nalazi online demo u kojem možete provjeriti na što vaš kod liči nakon prolaska kroz ovaj opaki tretman.
(via)
• • • • •
Vezani zapisi:
- Jedan kilobajt animacije
- Glazba za programiranje
- Kilobajtne JavaScript majstorije
- 5 korisnih PHP funkcija i klasa
- Korisne Flash/JavaScript komponente za vaše web stranice
- 5 korisnih JavaScript funkcija i biblioteka
- 5 JavaScript trikova za koje možda niste znali
PS. Non alphanumeric code in PHP!