我意识到这是一个笑话,但是有人发布了这个并且警告"失败"在浏览器中,这是怎么回事?
alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);
答案 0 :(得分:1)
以下是关于此主题的好文章:http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html
你基本上创建了字符串(“假”,“未定义”和其他),并再次使用true来获取索引。
例如第一个字母(f):
(![]+[])[+[]]
您使用![]
获取false,并添加[]
将其转换为字符串。括号内的内容现在是“假”。然后,您可以像数组一样访问它,'+ []`转换为0(false作为数字)。