javascript中的null和undefined

1.null(当做对象的占位符)

null是一个特殊值,常与undefined搞混,应用场景:

- 用来初始化一个变量,这个变量可能赋值为一个对象

- 用来和一个已经初始化的变量比较,这个变量可以是一个对象也可以不是

- 当函数的参数期望是对象时,用作参数传入

- 当函数的返回值期望是对象时,用作返回值传出

不应当使用null:

- 不要使用null来检测是否传入了某个参数

- 不要用null来检测一个未初始化的变量

```

//好的用法,用来初始化一个变量,这个变量可能赋值为一个对象

var person=null;

//好的用法,当函数的返回值期望是对象时,用作返回值传出

function getPerson(){

    if(condition){

        return new Person("zzz")

    }else{

        return null;

    }

}

//好的用法,用来和一个已经初始化的变量比较,这个变量可以是一个对象也可以不是

var person=getPerson()

if(person!==null){

    dosomething();

}

//不好的用法,和未初始化变量比较

var person;

if(person!=null){

    dosomething()

}

//不好的用法,检测是否传入了参数

function doSomething(a,b,c,d){

    if(d!==null){

        dosomething()

    }

}

```

2.undefined

undefined是一个特殊值,我们经常和null搞混,null==undefined结果是true,然而他俩用处各不相同,那些未初始化的变量,都有一个初始值,即undefined,表示这个变量等待赋值。

```

//不好的写法

var person;

console.log(person====undefined)//true

```

不建议使用undefined!!!

不管是值为undefined的变量,还是未声明的变量,typeof的结果都是undefined

```

//foo未声明

var person;

console.log(typeof person) //undefined

console.log(typeof foo)  //undefined

```

在语句中使用foo,会报错,而person不会

通过禁止使用undefined,确保只有未声明的时候才会undefined,将变量初始值赋值为null,表明可能为对象,typeof nulll返回object,与undefined区分

```

var person=null

```

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,779评论 0 6
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 1,007评论 0 4
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,596评论 0 21
  • @转自GitHub 介绍js的基本数据类型。Undefined、Null、Boolean、Number、Strin...
    YT_Zou阅读 1,385评论 0 0
  • undefined 和 null 1. undefined 定义 undefined 是 JavaScript 中...
    FoxLayla阅读 9,415评论 1 2

友情链接更多精彩内容