各位老铁,大家好!我是今天的主讲人,咱们今天聊聊 JavaScript 里一个挺有意思的家伙——NaN。别看它名字短小精悍,脾气可是相当古怪,能把不少新手甚至老手都给绕晕。今天咱们就来扒一扒 NaN 的底裤,看看它到底是个什么玩意儿,以及它那些让人哭笑不得的特性。 开场:NaN 是个啥? 首先,咱们得明确一点:NaN 全称是 "Not a Number",意思就是“不是一个数字”。注意,它虽然说自己“不是一个数字”,但它实际上是 JavaScript 里的一个数值类型的值。是不是有点懵?别急,听我慢慢道来。 NaN 通常会在以下几种情况下出现: 数学运算失败: 比如 0/0, Infinity – Infinity, Math.sqrt(-1)(负数开平方根)。 类型转换失败: 尝试将无法转换为数字的字符串转换为数字时,比如 parseInt(“hello”)。 涉及 NaN 的运算: 任何与 NaN 进行的数学运算结果都是 NaN。这个特性很重要,后面我们会详细说。 NaN 的第一个坑:typeof NaN 好了,现在我们知道 NaN “不是一个数字”,但是它又属 …
继续阅读“谈谈 JavaScript 中 NaN 的特性,例如 typeof NaN 的结果,以及 NaN == NaN 的结果。”