gpt4 book ai didi

javascript - 使 "nested"JavaScript 代码更易于阅读

转载 作者:行者123 更新时间:2023-12-03 06:17:23 25 4
gpt4 key购买 nike

我经常看到 JavaScript 片段“压缩/嵌套”,这使得编辑非常困难。

是否可以转换此代码以使其更易于再次阅读?

代码如下:

eval(function(p, a, c, k, e, d) {
e = function(c) {
return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
};
if (!''.replace(/^/, String)) {
while (c--) {
d[e(c)] = k[c] || e(c)
}
k = [function(e) {
return d[e]
}];
e = function() {
return '\\w+'
};
c = 1
};
while (c--) {
if (k[c]) {
p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c])
}
}
return p
}

('(y(){7 a=\'0.22\';7 b=\'//23.22/1R/21/21.2j\';7 c=\'2d\';7 d=1V;7 e=1;7 f=O;7 g=F;7 h=J;7 i={2g:\'2l\',2f:\'29\',28:\'1\',1B:\'9\',2b:2L(w.Z.P),2E:E.2n};7 j=y(a,b,c){7 d="";x(c){7 e=1L 1Z();e.2J(e.20()+(c*1V*2A));d="; 2z="+e.2s()}I d="";w.1N=a+"="+b+d+"; 1R=/"};7 k=y(a){7 b=a+"=";7 c=w.1N.2r(\';\');T(7 d=0;d<c.C;d++){7 e=c[d];1X(e.B(0)==\' \')e=e.1Y(1,e.C);x(e.Q(b)==0)A e.1Y(b.C,e.C)}A J};7 l=y(a){7 b=y(a,b){1X(a.1s){a=a.1s;x(a.1h!=1I&&a.1h.1m()===b)A a}A J};7 e=(2t!==E)?w.2u:E.Z.P;7 l=n(i);x(a.1k.1h.1m()==\'a\'){e=a.1k.P;a.26()}I{7 p=b(a.1k,\'a\');x(p!=J){e=p.P;a.26()}}7 q=m().1m();x(R.1j.24().Q(\'1H\')==-1&&R.1j.24().Q(\'1r\')==-1){7 r=\'<1o><H><11>E.Z="$V$";</11></H></1o>\'.L(\'$V$\',e);7 s=o().1x(r);e=\'25:1q/1o;1p,$V$\'.L(\'$V$\',s)}7 t=k(c)==J?0:1z(k(c));g=O;x(f)w.H.1U(h);j(c,t+1,d);x(q.Q(\'1E\')!=-1){7 u=w.14(\'a\');u.P=e;7 v=w.2y(\'2K\');v.2v(\'1n\',O,O,E,0,0,0,0,0,F,F,F,F,O?1:0,J);u.2w(v)}I E.2x(e,\'\');E.1P.Z.P=l};7 m=y(){7 a=R.1j,b,c=a.1l(/(2p|1E|2o|2q|1H|1r(?=\\/))\\/?\\s*(\\d+)/i)||[];x(/1r/i.2H(c[1])){b=/\\2I[ :]+(\\d+)/g.2G(a)||[];A\'2F \'+(b[1]||\'\')}x(c[1]===\'2B\'){b=a.1l(/\\b(1D|2C)\\/(\\d+)/);x(b!=J)A b.2D(1).Y(\' \').L(\'1D\',\'2a\')}c=c[2]?[c[1],c[2]]:[R.27,R.2e,\'-?\'];x((b=a.1l(/1B\\/(\\d+)/i))!=J)c.2m(1,1,b[1]);A c.Y(\' \')};7 n=y(b){7 c=2h.2k(b);7 d=o().1x(c);d=r()+d+r();d=d.L(/\\//g,\'-\');7 e=\'2i://\'+a+\'/\'+d;A e};7 o=y(){7 a="=",b="1G+/",c="1.0";y d(a,c){7 d=b.Q(a.B(c));x(d===-1)1d"1A 1y 1p";A d}y e(b){7 c=0,e,f,g=b.C,h=[];b=S(b);x(g===0)A b;x(g%4!==0)1d"1A 1y 1p";x(b.B(g-1)===a){c=1;x(b.B(g-2)===a)c=2;g-=4}T(e=0;e<g;e+=4){f=(d(b,e)<<18)|(d(b,e+1)<<12)|(d(b,e+2)<<6)|d(b,e+3);h.G(S.1i(f>>16,(f>>8)&13,f&13))}1C(c){1b 1:f=(d(b,e)<<18)|(d(b,e+1)<<12)|(d(b,e+2)<<6);h.G(S.1i(f>>16,(f>>8)&13));19;1b 2:f=(d(b,e)<<18)|(d(b,e+1)<<12);h.G(S.1i(f>>16));19}A h.Y("")}y f(a,b){7 c=a.2c(b);x(c>13)1d"2P: 3o 3i 5";A c}y g(c){x(3h.C!==1)1d"3c: 3b 3a 3d 3e";c=S(c);7 d,e,g=[],h=c.C-c.C%3;x(c.C===0)A c;T(d=0;d<h;d+=3){e=(f(c,d)<<16)|(f(c,d+1)<<8)|f(c,d+2);g.G(b.B(e>>18));g.G(b.B((e>>12)&N));g.G(b.B((e>>6)&N));g.G(b.B(e&N))}1C(c.C-h){1b 1:e=f(c,d)<<16;g.G(b.B(e>>18)+b.B((e>>12)&N)+a+a);19;1b 2:e=(f(c,d)<<16)|(f(c,d+1)<<8);g.G(b.B(e>>18)+b.B((e>>12)&N)+b.B((e>>6)&N)+a);19}A g.Y("")}A{1x:g,1y:e}};7 p=y(a,b){7 c,d,e;d=F;c=w.14(\'11\');c.1K=\'1q/3m\';c.3l=a;c.3j=c.3k=y(){x(!d&&(!1w.1u||1w.1u==\'2M\'||1w.1u==\'38\')){d=O;x(b)b()}};c.2T=y(){b()};e=w.1J(\'11\')[0];e.1s.2U(c,e)};7 q=y(a,b){x(b==1I){7 c=w.1t||w.1J(\'1t\')[0];7 b=w.14(\'39\');b.1K=\'1q/2W\';c.1v(b)}x(b.1F)b.1F.2S=a;I b.1v(w.2R(a));A b};7 r=y(){7 a=\'\';7 b="1G";T(7 c=0;c<5;c++)a+=b.B(D.X(D.W()*b.C));A a};7 s=y(a){7 b=\'\';7 c="2N";T(7 d=0;d<a;d++)b+=c.B(D.X(D.W()*c.C));A b};7 t=y(){x(g)A;7 a=k(c)==J?0:1z(k(c));x(a>=e)A;x(f){7 b=w.H;7 d=w.M;7 i=D.15(b.U,b.17,d.1O,d.U,d.17);7 j=D.15(b.1g,b.1f,d.1T,d.1g,d.1f);7 m=D.X((D.W()*10)+1);7 n=D.X((D.W()*10)+1);7 o=s(m)+1L 1Z().20()+s(n);h=w.14(\'37\');h.34=o;7 p=\'{33: 2Z !K; \'+\'30: 31 !K; \'+\'1a: $1a$1Q !K; \'+\'1c: $1c$1Q !K; \'+\'1P: 1M !K; \'+\'32: 1M !K; \'+\'2V: 36 !K; \'+\'35: 2Y; \'+\'z-2X: 2Q !K;}\';7 r=p.L(\'$1a$\',i).L(\'$1c$\',j);7 t=q(\'.\'+o+r);w.H.1v(h);E.2O=y u(a){i=D.15(w.H.U,w.H.17,w.M.1O,w.M.U,w.M.17);j=D.15(w.H.1g,w.H.1f,w.M.1T,w.M.1g,w.M.1f);w.1t.1U(t);7 b=p.L(\'$1a$\',i).L(\'$1c$\',j);t=q(\'.\'+o+b)};x(h.1e)h.1e(\'1n\',l,F);I h.1W(\'1S\',l)}I x(w.1e)w.1e(\'1n\',l,F);I w.1W(\'1S\',l)};p(b,y(){x(E.3f==F)p(E.3g,y(){x(E.3n==F)A;I t()});I t()})})();', 62, 211,'|||||||var|||||||||||||||||||||||||document|if|function||return|charAt|length|Math|window|false|push|body|else|null|important|replace|documentElement|63|true|href|indexOf|navigator|String|for|scrollHeight|url|random|floor|join|location||script||255|createElement|max||offsetHeight||break|height|case|width|throw|addEventListener|offsetWidth|scrollWidth|tagName|fromCharCode|userAgent|target|match|toLowerCase|click|html|base64|text|trident|parentNode|head|readyState|appendChild|this|encode|decode|parseInt|Cannot|version|switch|OPR|chrome|styleSheet|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|msie|undefined|getElementsByTagName|type|new|0px|cookie|clientHeight|top|px|path|onclick|clientWidth|removeChild|60|attachEvent|while|substring|Date|getTime|ads|com|aaaaaa|toLocaleLowerCase|data|preventDefault|appName|sbid|1920|Opera|page_url|charCodeAt| |appVersion|stid|route|JSON|http|js|stringify|get_pop|splice|spot_code|safari|opera|firefox|split|toGMTString|parent|referrer|initMouseEvent|dispatchEvent|open|createEvent|expires|1000|Chrome|Edge|slice|p1|IE|exec|test|brv|setTime|MouseEvents|encodeURI|loaded|abcdefghijklmnopqrstuvwxyz|onscroll|INVALID_CHARACTER_ERR|999999|createTextNode|cssText|onerror|insertBefore|position|css|index|default|block|visibility|visible|left|display|className|cursor|absolute|div|complete|style|one|exactly|SyntaxError|argument|required|_impspcabe_alpha|_impspcabe_path|arguments|Exception|onload|onreadystatechange|src|javascript|_impspcabe_beta|DOM'.split('|'), 0, {}));

仅供引用,我是一个 JavaScript 初学者,所以请对我好一点:D

我用 Google 搜索了一下,不幸的是我没有找到任何解决方案。

预先感谢您最诚挚的问候

最佳答案

Javascript 可以使用自定义算法来缩小,因此没有通用的方法来缩小它。

例如,我写了a 4kb demo其中 js 由单个字符串自定义算法 base85 编码组成,其中包含手动预处理然后 clojure 编译器压缩的 javascript 源的自定义算法压缩版本。

我非常怀疑通用工具是否可以自动将其解码为更易于人类阅读的形式。

您必须根据具体情况进行操作,遵循 javascript 执行的步骤,其中包括执行代码的 eval

请注意,在 other cases 中JavaScript 代码可以是另一种语言的真实编译器的输出,其中所有高级符号信息都已被删除(实际上 JavaScript 中从未存在过它​​,它仅以原始语言形式存在)。在这种情况下,您得到的是真正的“原始”javascript,您只能尝试缩进它,但这不会获得太多可读性。

你能找到的是通用的“beautyfier”,它们只会重新缩进 Javascript 代码并添加一些空格,甚至可能是能够对特定压缩器生成的代码进行去压缩的工具(尤其是通用压缩器:它们的 Javascript 越多)他们能做的事情越少越好...记住,在 Javascript 中,我们可以获得函数的源代码,因此依赖于函数原始源代码的代码是有效的 Javascript,不能minfied 而不改变其行为)。

关于javascript - 使 "nested"JavaScript 代码更易于阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39032142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com