我知道一点JS,但在某些阶段'我无法理解这段代码在做什么:
代码:
<script>
n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)"[((e)?"s":"")+"p"+"lit"]("a#"[((e)?"su":"")+"bstr"](1));
当然&#39; n&#39;是var,但是内部的字符串(稍后为eval()做准备)是如何编码的?#39; 我的意思是:真正的问题可能是:在这个字符串之后意味着什么:
[((e)?"s":"")+"p"+"lit"]("a#"[((e)?"su":"")+"bstr"](1));
感谢StackOverflow的任何建议。
答案 0 :(得分:2)
如果e
真实(并且我确定必须如此),那么
((e)?"s":"")+"p"+"lit"
变为
"split"
和
((e)?"su":"")+"bstr"
变为
"substr"
给我们
n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)"["split"]("a#"["substr"](1));
...与
相同n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)".split("a#".substr(1));
...与
相同n="3.5#3.5#51.5#50#15#19#49#54.5#48.5#57.5#53.5(...)".split("#");
...这给了我们n
=
["3.5", "3.5", "51.5", "50", "15", "19", "49", "54.5", "48.5", "57.5", "53.5(...)"]