JavaScript typeof, null, 和 undefined

简介: JavaScript typeof, null, 和 undefined

typeof 操作符

你可以使用 typeof 操作符来检测变量的数据类型。

实例

typeof "John"                // 返回 string
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object


尝试一下 »

 在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object。 

null

在 JavaScript 中 null 表示 "什么都没有"。

null是一个只有一个值的特殊类型。表示一个空对象引用。

用 typeof 检测 null 返回是object。

你可以设置为 null 来清空对象:

实例

var person = null;           // 值为 null(空), 但类型为对象


尝试一下 »

你可以设置为 undefined 来清空对象:

实例

var person = undefined;     // 值为 undefined, 类型为 undefined


尝试一下 »


undefined

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined

实例

var person;                  // 值为 undefined(空), 类型是undefined


尝试一下 »

任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

实例

person = undefined;          // 值为 undefined, 类型是undefined


尝试一下 »


undefined 和 null 的区别

实例

null 和 undefined 的值相等,但类型不等:

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true


尝试一下 »

JavaScript break 和 continue 语句

JavaScript 类型转换

2 篇笔记 写笔记

  1.   木子李  110***3566@qq.com8681、定义
  • (1)undefined:是所有没有赋值变量的默认值,自动赋值。
  • (2)null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址。
  1. 2、何时使用null?
    当使用完一个比较大的对象时,需要对其进行释放内存时,设置为 null。
    3、null 与 undefined 的异同点是什么呢?
    共同点:都是原始类型,保存在栈中变量本地。
    不同点:
    (1)undefined——表示变量声明过但并未赋过值。
    它是所有未赋值变量默认值,例如:

var a;    // a 自动被赋值为 undefined

  1. (2)null——表示一个变量将来可能指向一个对象。
    一般用于主动释放指向对象的引用,例如:

var emps = ['ss','nn'];

emps = null;     // 释放指向数组的引用

  1. 4、延伸——垃圾回收站
    它是专门释放对象内存的一个程序。
  • (1)在底层,后台伴随当前程序同时运行;引擎会定时自动调用垃圾回收期;
  • (2)总有一个对象不再被任何变量引用时,才释放。
  1. 木子李
      木子李
     110***3566@qq.com
    6年前 (2018-11-12)
  2.   jishux2  jis***2@outlook.com32JavaScript 中有以下七种数据类型:
  • string:表示文本内容,例如 "Hello"。
  • number:表示数值,例如123。
  • boolean:表示真或假的值,例如true或false。
  • undefined:表示未定义或者未赋值的变量或者属性,例如var x;。
  • object:表示复杂的数据结构,例如{ x: 1, y: 2 }。
  • function:表示可执行的代码块,例如function() { ... }。
  • symbol:表示唯一的标识符,例如Symbol("foo")。
  1. typeof 运算符会根据操作数的数据类型返回相应的字符串。例如:

typeof "Hello" // 返回"string"


typeof 123 // 返回"number"


typeof true // 返回"boolean"


typeof x // 返回"undefined"


typeof { x: 1, y: 2 } // 返回"object"


typeof function() { ... } // 返回"function"


typeof Symbol("foo") // 返回"symbol"

  1. 有一些特殊情况需要注意:
  • typeof null 会返回 "object",这是一个历史遗留的问题,实际上 null 是一个空或者不存在的值,不是一个对象。
  • typeof NaN 会返回 "number",这是因为 NaN 是一个特殊的数值类型,表示 Not a Number(不是一个数字)。
  • typeof [] 会返回 "object",这是因为数组是一种特殊的对象类型,它有一个 length 属性和一些方法来操作元素。
目录
相关文章
|
6月前
|
JavaScript 前端开发
JavaScript如何判断变量undefined
JavaScript如何判断变量undefined
|
7月前
|
JavaScript 前端开发
JavaScript 中的 typeof 运算符
【8月更文挑战第29天】
52 1
|
6月前
|
存储 JavaScript 前端开发
|
7月前
|
开发者 图形学 C#
揭秘游戏沉浸感的秘密武器:深度解析Unity中的音频设计技巧,从背景音乐到动态音效,全面提升你的游戏氛围艺术——附实战代码示例与应用场景指导
【8月更文挑战第31天】音频设计在游戏开发中至关重要,不仅能增强沉浸感,还能传递信息,构建氛围。Unity作为跨平台游戏引擎,提供了丰富的音频处理功能,助力开发者轻松实现复杂音效。本文将探讨如何利用Unity的音频设计提升游戏氛围,并通过具体示例代码展示实现过程。例如,在恐怖游戏中,阴森的背景音乐和突然的脚步声能增加紧张感;在休闲游戏中,轻快的旋律则让玩家感到愉悦。
241 0
|
10月前
|
机器学习/深度学习 SQL 关系型数据库
【MySQL进阶之路丨第十一篇】一文带你精通MySQL NULL值处理、正则表达式
【MySQL进阶之路丨第十一篇】一文带你精通MySQL NULL值处理、正则表达式
111 0
|
10月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之从MySQL同步数据到Doris时,历史数据时间字段显示为null,而增量数据部分的时间类型字段正常显示的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10月前
|
SQL 关系型数据库 MySQL
python在mysql中插入或者更新null空值
这段代码是Python操作MySQL数据库的示例。它执行SQL查询从表`a_kuakao_school`中选取`id`,`university_id`和`grade`,当`university_id`大于0时按升序排列。然后遍历结果,根据`row[4]`的值决定`grade`是否为`NULL`。若不为空,`grade`被格式化为字符串;否则,设为`NULL`。接着构造UPDATE语句更新`university`表中对应`id`的`grade`值,并提交事务。重要的是,字符串`NULL`不应加引号,否则更新会失败。
212 2
|
7月前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 IS NULL
【8月更文挑战第12天】
752 0
在 MySQL 中使用 IS NULL
|
7月前
|
SQL 关系型数据库 MySQL
mysql不等于<>取特定值反向条件的时候字段有null值或空值读取不到数据
对于数据库开发的专业人士来说,理解NULL的特性并知道如何正确地在查询中处理它们是非常重要的。以上所介绍的技巧和实例可以帮助你更精准地执行数据库查询,并确保数据的完整性和准确性。在编写代码和设计数据库结构时,牢记这些细节将有助于你避免许多常见的错误,提高数据库应用的质量与性能。
220 0
|
8月前
|
SQL 存储 索引
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值
MySQL设计规约问题之为什么应该把字段定义为NOT NULL并且提供默认值

热门文章

最新文章