首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么alert(++[[][+[]]+[+[]]);打印10?

为什么alert(++[[][+[]]+[+[]]);打印10?
EN

Stack Overflow用户
提问于 2017-07-29 05:51:12
回答 1查看 158关注 0票数 0

如果你在js中运行alert(++[[]][+[]]+[+[]]);代码,那么它会向10.Why发出警报,是吗?这段代码使用了什么逻辑?

EN

回答 1

Stack Overflow用户

发布于 2017-07-29 05:53:13

查看jsfuck.com。这给出了示例,并展示了如何使用它来编写任何代码。

基础知识:

代码语言:javascript
复制
false       =>  ![]
true        =>  !![]
undefined   =>  [][[]]
NaN         =>  +[![]]
0           =>  +[]
1           =>  +!+[]
2           =>  !+[]+!+[]
10          =>  [+!+[]]+[+[]]
Array       =>  []
Number      =>  +[]
String      =>  []+[]
Boolean     =>  ![]
Function    =>  []["filter"]
eval        =>  []["filter"]["constructor"]( CODE )()
window      =>  []["filter"]["constructor"]("return this")()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45382913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档