前端

基本数据类型

区别

child::null与undefined与空字符串的区别

数据类型转换

child::

转换数据

js

自动转换类型

当 JavaScript 尝试操作一个 “错误” 的数据类型时,会自动转换为 “正确” 的数据类型。 以下输出结果不是你所期望的:

5 + null    // 返回 5         null 转换为 0  
"5" + null  // 返回"5null"   null 转换为 "null"  
"5" + 1     // 返回 "51"      1 转换为 "1"
"5" - 1     // 返回 4         "5" 转换为 5
  • +的时候默认字符串优先于数字

将字符串转换为数字

全局方法 Number() 可以将字符串转换为数字。 字符串包含数字(如 “3.14”) 转换为数字 (如 3.14). 空字符串转换为 0。 其他的字符串会转换为 NaN (不是个数字)。

Number("3.14")    // 返回 3.14  
Number(" ")       // 返回 0  
Number("")        // 返回 0  
Number("99 88")   // 返回 NaN
Number("01") // 返回1

在 Number 方法 章节中,你可以查看到更多关于字符串转为数字的方法:

方法描述
parseFloat()解析一个字符串,并返回一个浮点数。
parseInt()解析一个字符串,并返回一个整数。

空数组转换

child::

空数组类型转换

[]==0 // ture
[]+1 // 1
[]+'2' // 2
指向原始笔记的链接

指向原始笔记的链接

引用数据类型

区别

child::基本数据类型与引用数据类型的区别

存储在js内存的位置

  • 基本数据类型都是直接保存在栈内存
  • 引用数据类型的引用值保存在栈内存
  • 被引用的对象保存在堆内存

判断数据类型

child::类型判断