Browse Source

Optimize usage of global's functions.

Alexander I. Zaytsev 11 years ago
parent
commit
9192994059
2 changed files with 44 additions and 44 deletions
  1. 6 6
      jsfuck.js
  2. 38 38
      output.txt

+ 6 - 6
jsfuck.js

@@ -52,9 +52,9 @@
 
     'A':   '(+false+Array)[10]',
     'B':   '(+false+Boolean)[10]',
-    'C':   'GLOBAL["escape"]("<")[2]',
-    'D':   'GLOBAL["escape"]("=")[2]',
-    'E':   'GLOBAL["escape"](">")[2]',
+    'C':   'Function("return escape")()("<")[2]',
+    'D':   'Function("return escape")()("=")[2]',
+    'E':   'Function("return escape")()(">")[2]',
     'F':   '(+false+Function)[10]',
     'G':   USE_CHAR_CODE,
     'H':   USE_CHAR_CODE,
@@ -82,7 +82,7 @@
     '"':   '("")["fontcolor"]()[12]',
     '#':   USE_CHAR_CODE,
     '$':   USE_CHAR_CODE,
-    '%':   'GLOBAL["escape"]("<")[0]',
+    '%':   'Function("return escape")()("<")[0]',
     '&':   USE_CHAR_CODE,
     '\'':  USE_CHAR_CODE,
     '(':   '(false+[]["filter"])[20]',
@@ -93,7 +93,7 @@
     '-':   '(+(.0000000001)+"")[2]',
     '.':   '(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]]+[+[]])+[])[+!+[]]',
     '/':   '(false+[+false])["italics"]()[10]',
-    ':':   'GLOBAL["Date"]()[21]',
+    ':':   'Function("return Date")()()[21]',
     ';':   USE_CHAR_CODE,
     '<':   '("")["italics"]()[0]',
     '=':   '("")["fontcolor"]()[11]',
@@ -117,7 +117,7 @@
   function fillMissingChars(){
     for (var key in MAPPING){
       if (MAPPING[key] === USE_CHAR_CODE){
-        MAPPING[key] = 'GLOBAL["unescape"]("%"'+ key.charCodeAt(0).toString(16).replace(/(\d+)/g, "+($1)+\"") + '")';
+        MAPPING[key] = 'Function("return unescape")()("%"'+ key.charCodeAt(0).toString(16).replace(/(\d+)/g, "+($1)+\"") + '")';
       }
     }
   }

+ 38 - 38
output.txt

@@ -1,14 +1,14 @@
 ` ` 186
-`!` 12952
+`!` 8302
 `"` 877
-`#` 12961
-`$` 12966
-`%` 6627
-`&` 12976
-`'` 12981
+`#` 8311
+`$` 8316
+`%` 4302
+`&` 8326
+`'` 8331
 `(` 185
 `)` 186
-`*` 12960
+`*` 8310
 `+` 75
 `,` 628
 `-` 178
@@ -24,45 +24,45 @@
 `7` 39
 `8` 44
 `9` 49
-`:` 10941
-`;` 15161
+`:` 6291
+`;` 10511
 `<` 368
 `=` 873
 `>` 374
-`?` 12963
-`@` 12960
+`?` 8313
+`@` 8310
 `A` 920
 `B` 923
-`C` 6633
-`D` 7138
-`E` 6639
+`C` 4308
+`D` 4813
+`E` 4314
 `F` 1073
-`G` 12991
-`H` 12996
+`G` 8341
+`H` 8346
 `I` 75
-`J` 12970
-`K` 15166
-`L` 13131
-`M` 12977
+`J` 8320
+`K` 10516
+`L` 8481
+`M` 8327
 `N` 21
-`O` 12968
-`P` 12965
-`Q` 12967
-`R` 12971
+`O` 8318
+`P` 8315
+`Q` 8317
+`R` 8321
 `S` 925
-`T` 12981
-`U` 12986
-`V` 12991
-`W` 12996
-`X` 13001
-`Y` 13006
-`Z` 12975
+`T` 8331
+`U` 8336
+`V` 8341
+`W` 8346
+`X` 8351
+`Y` 8356
+`Z` 8325
 `[` 3716
-`\` 13136
-`]` 12982
-`^` 12985
-`_` 12973
-``` 12970
+`\` 8486
+`]` 8332
+`^` 8335
+`_` 8323
+``` 8320
 `a` 20
 `b` 2216
 `c` 181
@@ -90,5 +90,5 @@
 `y` 91
 `z` 2275
 `{` 190
-`|` 13146
-`}` 12992
+`|` 8496
+`}` 8342