JavaScript教程:undefined、null和NaN 作者:马育民 • 2020-12-27 10:18 • 阅读:10047 # undefined 表示 **未定义** 或 **未赋值** ### 出现场景 - 声明了变量,但未赋值 - 对象属性不存在 执行下面代码,结果是 `undefined`: ``` ``` ### 判断 ``` ``` # null 是一种特殊的object,表示 **无** 或 **不存在**。必须手动赋值,仅用于 【明确表示某个值 “**应该存在但当前为空**”】的场景 相当于java中的 `null`,该变量没有保存有效的数、字符串、boolean、数组或对象; ### 判断 ``` ``` ### 算数运算 ``` var x = null console.log("1 + x = " , 1 + x) ``` 结果是 `1`,说明 `x` 值是 `null`,在算数运算时是 `0` # NaN 是 `not a number` 的缩写,表示 **非数字** ### 出现场景一 ``` var x //undefined var y //undefined var res = x + y //2个undefined运算 console.log("res=",res) ``` ### 出现场景二 执行下面代码,结果就是 `NaN`: ``` var a = parseInt("a李雷") console.log("a=",a) ``` ### 判断 ``` ``` 原文出处:http://malaoshi.top/show_1IXIPBCgtnP.html