认识 JS document.all 发表于 2023-09-07 分类于 JavaScript 本文字数: 361 阅读时长 ≈ 1 分钟 周四了,群里的大佬出了一道题 123456let foo = // 完成代码if(!foo) { console.log(foo + 1); // 2} 答案 123456let foo = document.allfoo.valueOf = () => 1if(!foo) { console.log(foo + 1); // 2} 这个题有四个关键点,一个是 document.all,一个是 valueOf,另外两个你猜猜是什么,在文章最后面。 因为 12document.all + 1// 返回 '[object HTMLAllCollection]1' 另一个关键点是 !xxx 是永远不会有类型转换的。 还有一个关键点是 Falsy,假值。 见 MDN - Falsy 1!document.all // 返回 true 总结我可能是个假前端 相关文章 解决Axios额外的发起一次option请求 JS调试 - 跳过或者忽略不需要的js文件 - Blackbox Chrome Extension Scripts 使用 Docker 构建前端项目 提取出CODEIF核心部分代码 ESLint 解决 Cannot find module - typescript path alias error TS 别名错误问题 打赏 微信支付 支付宝 本文作者: Mt.r 本文链接: https://trycoding.fun/JavaScript/js-document-all/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!