2
仅5个符号的JSF ** k?
这不是一个挑战,而是一个问题,我认为这是一个话题,因为 与解决编程难题或特定类型的挑战有关的非挑战性问题也在主题中。 现在开始问题: 是否可以仅用5个字母编写任何JavaScript代码?JSFuck已经用6个符号执行此操作,!+[]()但我想知道是否!需要该字符。 JSFuck将强制转换为字符串(通过添加一个空数组),强制转换为数字(通过在前面写一个+)以及通过否定转换为布尔值的组合工作。例如: [] \\ Empty array +[] \\ Cast to number -> 0 !+[] \\ Negate -> true !+[]+[] \\ Cast to string -> "true" 从该字符串中,我们可以使用方括号(其中包含一个数字)提取所有字母,并且可以通过多次将true加在一起来制作任何数字。 像这样,可以找到很多字母,并将它们连接成字符串。能够创建的最重要的字符串是"constructor"因为它可用于Function从任何函数中获取,并且该对象可用于以JavaScript形式执行字符串: []["find"] \\ the function Array.prototype.find []["find"]["constructor"] \\ the Function object []["find"]["constructor"](string)() \\ same as eval(string) 如您所见,!这里有2种用法: 创建数字以从字符串中选择字母。 强制转换为布尔值以获取"true"和"false"。 这2个中的第一个也可以使用++增量器完成,而不是直接在上完成0,但可以在数组内的元素上使用: +[] …