Skip to the main content
[] 24. VIII. 2012.

Hex Dump 2

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!