javascript中对undefined和null的理解

一、undefined和null的区别

从语义上来讲,undefined是未定义,而null是指空。

书面上定义:undefined是指对象属性或方法不存在,或声明了变量但从未赋值。

                      null是指一个变量中没有包含有效的数据。

1. 如有已下情况则返回undefined值

    对象属性不存在,返回undefined

    变量声明但未赋值,返回undefined

    调用函数时,应该提供的参数没提供,则该参数为undefined

    函数没有返回值时,默认返回undefined

2. 如有已下情况则返回null

    变量作为函数的参数,表示该函数的参数不是对象

    变量作为对象原型链的终点

二、undefined和null的使用场景

1. 判断一个变量是否存在

    使用情景:登陆前没有tmp变量,登陆后存在tmp变量。

    这时候用if判断不能直接if(tmp)来进行判断会出现报错,改为如下:

    if(typeof tmp != "undefined")

2. 变量赋 null 值来清除变量的内容

    var obj = {name: '张三', age: 12}

    obj = null;

你可能感兴趣的:(javascript中对undefined和null的理解)