JS循环

时间:2018-06-05 15:22:36

标签: javascript for-loop

我试图解释像Facebook这样的大平台的源代码,以了解程序员如何做他们的工作,其中一些程序员有一种我以前从未见过的编程。 此循环位于该类型的编程中:

for (var e; b.length && (e = b.shift()); ) b.length || void 0 === c ? d = d[e] ? d[e] : d[e] = {
}

这是我第一次看到这样的东西,我终于认为这片代码只是为了分散注意力而吓唬可能的恶意用户

  1. 循环以一个名为'e'
  2. 的未定义变量开头
      

    for( var e; ...

    1. 没有条件可以运行它,它什么都不做,没有意义。
    2.   

      b.length&& (e = b.shift());

      此代码表示: b和e内的元素数等于没有第一个元素的b

      1. 第三个循环语句也是空的,没有增量。
      2. 现在是硬核部分,每次递归都没有动作,甚至 大括号{}
      3.   

        b.length || void 0 === c? d = d [e]? d [e]:d [e] = {       }

        此代码表示: b内的元素数量或者未定义的数量等于变量c内的内容,如果d等于d中的元素数e,则不执行任何操作,如果不是则内部元素编号e d等于空括号{}

        正如你所看到的,这段代码毫无意义,它没有理由存在,但它确实存在,所以,专家可以告诉我这是否真的适用于某些东西或它只是ascii符号而没有实用程序?

0 个答案:

没有答案