nie*_*te3 3 javascript for-loop cycle
我发现这个奇怪的JavaScript我无法理解.for循环有一个奇怪的语法(很多参数),你能解释一下它是如何工作的吗?谢谢
decode: function(s){
for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
((a = s[i][c](0)) & 0x80) &&
(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
);
return s.join("");
}
Run Code Online (Sandbox Code Playgroud)
这是一个普通的for循环,但var在第一部分中有一个很长的陈述.
就像
var a, b, c;
Run Code Online (Sandbox Code Playgroud)
for循环中的迭代器语句也包含许多操作,而不是实际拥有主体的循环.
这个函数是由一个可怕的程序员编写的,不考虑可读代码,或者它是故意缩小和混淆的.