这个项目能做什么
# 什么鬼 JavaScript?
这个仓库收集了幽默且令人困惑的JavaScript示例,灵感来源于Brian Leroux在2012年dotJS上的演讲“WTFJS”。它旨在汇集疯狂的代码片段并解释其工作原理,通常引用ECMA-262规范。
该手册以npm包(`wtfjs`)形式提供,便于离线阅读,并已被翻译成多种语言,包括中文、印地语、法语、葡萄牙语、波兰语、意大利语和韩语。
## 内容概览
列表包含超过60个示例,每个示例都有代码片段和详细解释。主题涵盖:
- **相等性和强制转换的怪癖**:例如,`[] == ![]` 为 `true`,`true == []` 为 `false`,`null == false` 为 `false`。
- **NaN和数字的怪事**:`NaN === NaN` 为 `false`,`Number.MIN_VALUE > 0` 为 `true`,`parseInt` 的边界情况。
- **数组和字符串行为**:数组拼接、尾随逗号、数组相等性的怪物。
- **函数和类的异常**:`class Foo extends null` 报错,箭头函数不能作为构造函数。
- **其他技巧**:`"b" + "a" + +"a" + "a"` 结果为 `'baNaNa'`,JavaScript中的HTML注释,`document.all` 为 undefined,等等。
每个示例都附有指向ECMA-262规范相关章节或外部参考的链接,使其成为初学者深入理解以及专业人士查阅JavaScript意外边缘情况的实用参考。
## 动机
主要目标是乐趣和学习。作者鼓励读者探索规范并发现新事物,无论他们是初学者还是经验丰富的开发者。
## 使用方法
通过npm安装:
```
$ npm install -g wtfjs
```
然后运行 `wtfjs` 在您偏好的分页器中打开手册。
## 翻译
社区维护的翻译可用于多种语言,但可能未包含所有示例或完全最新。
## 许可证
根据WTFPL 2.0许可证发布。
评论
0 评分人数达到10人后显示
登录后参与讨论。