摘要: 在国外网站上看到一道javascript的题目:++[[]][+[]]+[+[]];值是多少?虽然最js的语法还算熟,第一眼看到这个表达式的时候还是晕了.直接运行了一下,结果是字符串"10",结果有点出乎意料,开始怀疑是不是某个浏览器的bug,又在四个浏览器里面都运行了一遍,均是此结果.于是从结果开始倒推,推出了一些比较诡异逻辑.首先 +[] ,相当于Number([]),根据 Number函数的转换规则,得到 +[] = 0;于是,表达式1. ++[[]][+[]]+[+[]]; ==>2. ++[[]][0]+[0]; ==>3. var i= [[]][0 阅读全文
posted @ 2013-04-10 15:20 川川哥哥 阅读(630) 评论(2) 推荐(1) 编辑