有人可以解释为什么这个x =((!+ [] + !! [] + !! [] + !! [] + [])+(+ !! []))=“41”?

时间:2017-01-20 21:35:03

标签: javascript math

我正在尝试为cloudflare保护页面编写解析器(在php中)。他们有一个表格,我想用提到的代码类型提交。整个代码看起来像这样。我完全不清楚这些感叹号和括号是如何产生数字(字符串)的。

var s,t,o,p,b,r,e,a,k,i,n,g,f, UagTEGd={"frHz":+((!+[]+!![]+!![]+!![]+[])+(+!![]))};
t = document.createElement('div');
t.innerHTML="<a href='/'>x</a>";
t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
t = t.substr(r.length); t = t.substr(0,t.length-1);
a = document.getElementById('jschl-answer');
f = document.getElementById('challenge-form');
;UagTEGd.frHz*=+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]));UagTEGd.frHz+=!+[]+!![];UagTEGd.frHz+=+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]));UagTEGd.frHz*=+((!+[]+!![]+[])+(+[]));UagTEGd.frHz*=+!![];a.value = parseInt(UagTEGd.frHz, 10) + t.length; '; 121'

0 个答案:

没有答案