gpt4 book ai didi

javascript - 这个javascript代码如何/为什么打印 'fun' ?

转载 作者:数据小太阳 更新时间:2023-10-29 04:40:49 26 4
gpt4 key购买 nike

alert(
(![]+[])[[]-[]]+
(([]+[])+([][[]]))[[]-[]]+
(([]+[])+([][[]]))[!![]-[]]
);

这是 fiddle :http://jsfiddle.net/leeny/6VugZ/

这段神秘的代码究竟是如何工作的?

最佳答案

        vvvvvvv [0]
(![]+[])[[]-[]] = "false"[0]
^^^^^^^^ "false"

vvvvvvv again [0]
(([]+[])+([][[]]))[[]-[]] = "undefined"[0]
^^^^^^^^^^^^^^^^^^ "undefined"

vvvvvvvvv this time [1]
(([]+[])+([][[]]))[!![]-[]] = "undefined"[1]
^^^^^^^^^^^^^^^^^^ again "undefined"

因此你得到 "f"+"u"+"n"=== "fun"

进一步说明

“假”

![]false+[] 只是作为字符串的转换。因此我们获得了字符串"false"

“未定义”

其中一个操作数必须是字符串。这是由 []+[] 完成的。实际的 undefined 在右侧创建:[][[]] === [][0],第一个条目空数组的 undefined

关于javascript - 这个javascript代码如何/为什么打印 'fun' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com