JavaScript Chose Violence
a year ago
- #JavaScript
- #Programming
- #Humor
- JavaScript 仅用10天就设计完成,因此存在一些怪异特性。
- JS中的日期类型会自动将年份减去1900,导致历史日期计算错误。
- JS的月份从0开始计数,这与大多数数字系统不同。
- JS的浮点数运算存在精度问题(例如0.1 + 0.2 ≠ 0.3)。
- JS的相等比较很棘手,应该始终使用三等号(===)。
- 在JS中NaN等于NaN,但正确检测方法是使用Number.isNaN()。
- 使用parseInt()时应包含基数参数,避免八进制解析问题。
- 避免使用eval(),因其存在安全风险且是糟糕实践。
- JS的类只是语法糖,并不完全支持面向对象编程。
- finally代码块会覆盖try块的返回值,这与其他语言不同。
- 当没有参数时,Math.min()和Math.max()会出现意外行为。
- 原始类型(如数字)不能直接调用方法。
- JS数组可以拥有非索引属性,就像隐藏的房间。
- 尽管存在缺陷,JS已不断改进并通过TypeScript等工具被广泛使用。