HuangHongRui / huanghongrui.github.io

:poultry_leg: MyBlog | Keep track of every moment.. :icecream:
http://blog.luckyman.xyz/
3 stars 1 forks source link

null & undefined #37

Open HuangHongRui opened 5 years ago

HuangHongRui commented 5 years ago

概述

nullundefined 含义相似,都有 “无” 的意思。所以如下例子将变量设为任何一个,意思效果几乎无差别。

var leo = null;
var leo = undefined;

if语句中,nullundefined 都是被自动转为 false. 在相等运算符 == 看来,它们两也是相等的. 只能说它们确实非常相似。

但是,还是要注意它们的 差别

null + 1 // 返回 1
Number(null) // 返回 0
// null 转为数字时,会转换为 0 
undefined + 1 // 返回 NaN
Number(undefined) // NaN
// 转换为 Not A Number

用法

null 表示空值

当知道某个变量 或 参数 为空值时,给予设定或传入.

undefined 表示初始化未定义

let leo;
leo // 返回 undefined 已声明变量,但无赋值。

let leoObj = new Object();
leoObj.name // undefined 对象无该属性

fun = arg =>  arg;
fun() // 返回 undefined 无传参,参数为undefined