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 属性和一些方法来操作元素。
目录
相关文章
|
19天前
|
JavaScript 前端开发
JavaScript 中的 typeof 运算符
【8月更文挑战第29天】
14 1
|
17天前
|
存储 JavaScript 前端开发
|
17天前
|
开发者 图形学 C#
揭秘游戏沉浸感的秘密武器:深度解析Unity中的音频设计技巧,从背景音乐到动态音效,全面提升你的游戏氛围艺术——附实战代码示例与应用场景指导
【8月更文挑战第31天】音频设计在游戏开发中至关重要,不仅能增强沉浸感,还能传递信息,构建氛围。Unity作为跨平台游戏引擎,提供了丰富的音频处理功能,助力开发者轻松实现复杂音效。本文将探讨如何利用Unity的音频设计提升游戏氛围,并通过具体示例代码展示实现过程。例如,在恐怖游戏中,阴森的背景音乐和突然的脚步声能增加紧张感;在休闲游戏中,轻快的旋律则让玩家感到愉悦。
31 0
|
24天前
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
|
JavaScript 前端开发
《JavaScript启示录》——1.8 null、undefined、"string"、10、true和false等原始值不是对象
null和undefined都是非常简单的值,它们不需要构造函数,也没有使用new操作符来将自己创建为JavaScript值。欲使用null或undefined,只需将它们看做操作符来使用即可。从技术上来讲,从构造函数返回的字符、数字、布尔值并不是对象。
1655 0
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
70 2
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
63 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
55 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
67 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
69 3