JavaScript 中有三个特殊的值,它们分别是 typeof, null, 和 undefined。这三个值在 JavaScript 中都有着重要的作用,在实际开发中也经常会使用到。

首先是 typeof。typeof 是一个 JavaScript 中的关键字,用于检测一个变量的数据类型。它的语法格式为:typeof variable。例如,我们可以使用 typeof 检测一个变量是否为数字:

let num = 10;
console.log(typeof num); // "number"

typeof 返回的结果可能是:"number"、"string"、"boolean"、"undefined"、"object"、"function"。

接下来是 null。null 是 JavaScript 中的特殊值,表示一个变量没有值。它通常用于表示一个对象不存在。例如,在一个函数中,我们可以使用 null 来表示没有返回值:

function getName() {return null;
}
console.log(getName()); // null

最后是 undefined。undefined 是 JavaScript 中的特殊值,表示一个变量被声明了,但是没有赋值。它通常用于表示一个变量或者函数的返回值不存在。例如,当我们调用一个没有返回值的函数时,它会返回 undefined:

function sayHello() {console.log("Hello!");
}
console.log(sayHello()); // undefined

如果在访问一个未声明的变量时,会抛出 ReferenceError,而访问一个未赋值的变量则会返回 undefined:

let name;
console.log(name); // undefined

在实际开发中,我们经常会使用 typeof、null、和 undefined 来判断一个变量是否存在,或者判断一个函数是否有返回值。例如,我们可以使用 typeof 来判断一个变量是否定义,如果变量是 undefined,那么我们就可以知道这个变量没有定义:

if (typeof variableName === "undefined") {console.log("The variable is not defined.");
}

我们也可以使用 null 来判断一个对象是否存在,如果对象为 null,那么我们就可以知道这个对象不存在:

let obj = null;
if (obj === null) {console.log("The object does not exist.");
}

总之,typeof、null、和 undefined 是 JavaScript 中三个重要的特殊值,在实际开发中都有着重要的作用。了解它们的用途,并能熟练使用它们,可以帮助我们更好地编写 JavaScript 代码。

另外,在 JavaScript 中,null 和 undefined 可以被视为“空值”,在某些情况下,我们需要判断一个变量是否是“空值”。为了更方便地判断“空值”,JavaScript 提供了一个叫做 isNullOrUndefined 的函数来帮助我们判断一个变量是否是“空值”。

function isNullOrUndefined(value) {return value === null || value === undefined;
}

可以这样使用

let value = undefined;
console.log(isNullOrUndefined(value)); // true
value = null;
console.log(isNullOrUndefined(value)); // true
value = '';
console.log(isNullOrUndefined(value)); // false

最后,在JavaScript中有一种特殊的值 NaN(Not-A-Number)表示一个不是数字的数值。在JavaScript中使用isNaN()函数可以判断一个值是否是NaN:

console.log(isNaN(NaN));// true
console.log(isNaN(undefined));// true
console.log(isNaN(null));// false
console.log(isNaN(123));// false
console.log(isNaN('123'));// false
console.log(isNaN('abc'));// true
console.log(isNaN(true));// false

总结一下,JavaScript中有三种特殊值: undefined, null, NaN 分别有它们自己的用途。使用 typeof、null、和 undefined 可以判断一个变量是否存在,使用isNaN()函数判断一个变量是否是NaN。在实际开发中,理解和熟练使用这些值可以帮助我们更好地编写 JavaScript 代码。

JavaScript typeof, null, 和 undefined相关推荐

  1. javaScript学习笔记之typeof, null, 和 undefined之间的对比

    typeof 操作符 你可以使用 typeof 操作符来检测变量的数据类型. null 在 JavaScript 中 null 表示 "什么都没有". null是一个只有一个值的特 ...

  2. 一元流量参数为null_了解JavaScript中null和undefined之间的差异和相似之处

    干货技术→JavaScript 乍一看,null和undefined看起来可能相同,但它们远非如此.本文将探讨JavaScript中null和undefined之间的差异和相似之处. 如果你对编程感兴 ...

  3. JavaScript数据类型 typeof, null, 和 undefined

    JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...

  4. JavaScript检查null与undefined以及==和===之间的差异

    如何检查变量是否为null或undefined并且null和undefined什么区别? ==和===什么区别(很难在Google上搜索" ===")? #1楼 区别是微妙的. 在 ...

  5. 探索JavaScript中Null和Undefined的深渊

    当讨论JavaScript中的原始数据类型时,大多数人都知道的基本知识,从String,Number到Boolean.这些原始类型相当简单,行为符合常识.但是,本文将更多聚焦独特的原始数据类型Null ...

  6. JavaScript中null与undefined的比较

    这两种类型近乎相等,都表示空值,在实际的操作中console.log(null == undefined)会输出true.但是它们之间有些的差别的,主要从定义.字面意思.使用情况等考虑. 从最初的的区 ...

  7. JavaScript typeof

    文章目录 JavaScript typeof, null, 和 undefined typeof 操作符 Null Undefined Undefined 和 Null 的区别 JavaScript ...

  8. JavaScript 类型判断 判断Null和Undefined

    js类型判断 判断Null和Undefined javaScript中判断数据类型的方法主要有三种: ​ **typeof:**原理是通过根据变量的机器码来判断 ​ instanceof:根据 构造函 ...

  9. 为什么null为对象,并且null和undefined有什么区别?

    为什么在JavaScript中将null视为object ? 正在检查 if ( object == null )Do something 与...相同 if ( !object )Do someth ...

最新文章

  1. RecyclerView 使用指南
  2. Java 中 ConcurrentHashMap 原理分析
  3. mysql innodb myisam 混合,MySQL MyIsam/InnoDB混合在一起的事务
  4. AutoScaling 成本优化模式升级--混合实例策略
  5. 设计模式之Builder模式 (C++实现)
  6. Spring框架----IOC的概念和作用之程序的耦合和解耦
  7. 怎样实现banner自动播放html,纯css实现轮播图banner自动轮换效果
  8. zabbix--3.0--3
  9. 蓝桥杯2019年第十届C/C++省赛B组第八题-等差数列
  10. 移动U盘数据恢复,移动U盘数据恢复方法
  11. 按一定条件筛选df1,返回结果中df1的索引取df2的数据
  12. 使用javassist
  13. c语言装b程序,C语言打造表白和装逼利器:亲爱的让我们相爱在一起,酷炫的梦幻...
  14. 前端文字下划线的模拟
  15. Flink 在风控场景实时特征落地实战
  16. 刘意-java基础视频(API-IO流)笔记(一)
  17. 第一章笔记MySQL数据库的安装目录详解
  18. 小白也能看懂的网络基础 | 01 什么是网络?
  19. no field package.preload['lor.index']
  20. 开启gzip压缩-webpack插件

热门文章

  1. 椭圆曲线标量乘法快速算法(附源码实现)
  2. 高程、方位角、图幅编号
  3. 基于STM32的倒车雷达系统设计
  4. 【Linux】进程状态(阻塞、挂起、僵尸进程)
  5. 管理工作三大忌!推荐阅读收藏哦
  6. 【程序人生】那些工作之外的技术挣钱方式
  7. vuetifyjs简介及其使用
  8. 不用函数,如何提取身份证出生日期?
  9. PostgreSQL数据库TPCC测试,Banchmarksql 5.0部署详解
  10. for循环 for循环嵌套