所以在this question我询问了一些Javascript是如何被压缩的。问题得到了解答,以下片段让我非常困惑,以至于我不得不提出另一个问题。这是:
for (Y = 0; $ = 'zxqj`_^ZWVUQONMKJIHGCA@8$ ' [Y++];)
with(_.split($)) _ = join(pop());
eval(_)
这种语法来自哪里?我有点理解第三个操作是什么([Y++]
),但为什么它在括号中为什么在它之前没有任何分号?另外,在第2行:我认为_
是一个被声明的变量,但是with(_.split($))
是什么类型的变量类型?
答案 0 :(得分:2)
任何for
命令都可以分解。从“经典”循环开始:
for( i=0; i<end; i++)
这转换为:
i=0
i<end
重复以下内容:
i
所以,将相同的代码应用到您的代码中:
Y=0
$
,然后递增Y,然后:
这很难看,但如果你把它分解,它仍然有意义。