
开始整活
推荐一个网站aem1k,集合了大佬们写的最逆天最离谱的代码。
sb?
打开控制台,输入以下代码回车,你将会得到一个'sb'
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
原理大概是这样

jsfuck也和这个类似,想了解的去可以看一下。
面向stackoverflow编程
try catch的正确使用方式
try {
// any code
} catch(e) {
location.href = `https://stackoverflow.com/search?q=js+${e.message}`
}
Evil.js 从入门到入狱
代码里埋雷?github

banana?
中间加了个NaN
'b'+'a'+ +'a'+'a'
// 'baNaNa'
a === a-1 结果为true
当a为Infinity无穷大时,a - 1的结果也是Infinity,所以a === a - 1的结果为true。
同理,a的值为-Infinity时,此等式也成立。
const a = Infinity
console.log(a === a - 1)
数字字面量调用方法时的 . 歧义
1.toString()→ ❌ 报错(.被当作小数点)1..toString()→ ✅"1"(第一个.是小数点,第二个是方法调用)1 .toString()→ ✅"1"(空格避免歧义)(1).toString()→ ✅"1"(括号强制解析为数字)