你了解JavaScript中的数据类型区分吗

发布于:2023-04-05 ⋅ 阅读:(464) ⋅ 点赞:(0)

原文链接:https://note.noxussj.top/?source=helloworld


常见的 ES5 数据类型分为基本数据类型、引用数据类型两种。包含字符串、数字、对象、数组、函数、布尔值、空值、未知。

基本数据类型

String 类型(字符串)

var name = 'xiaoming'

Number 类型(数字)

var age = 20

Boolean 类型(布尔值)

var isXiaoMing = true

Null 类型(空值)

var name = null

Undefined 类型(未知、找不到)

var name = undefined

引用数据类型

Object 类型(对象)

var person = {
    name: 'xiaoming',
    age: 20
}

Array 类型(数组)

var names = ['xiaoming', 'xiaohong']

Function 类型(函数)

function toEat() {
    return '我会吃饭'
}

以上两种数据类型的区别

::: warning 以下概念有点偏向计算机原理了,理解起来可能没那么容易。

基本数据类型和引用数据类型的区别在于它们在内存中存储的方式不同,基本数据类型的数据是存储在栈中,而引用类型的数据是存储在堆中。 :::

基本类型存储方式

复制出来独立的一个值。

var a = 'xiaoming'
var b = 'libai'
var c = b

变量名 变量类型 变量值
a String "xiaoming"
b String "libai"
c String "libai"

引用类型存储方式

复制的是指针地址,但是两个地址都是指向同一个数据。

var obj1 = { name: 'xiaoming', age: 18 }
var obj2 = obj1

变量名 变量类型 变量值
a Object 0x000001
b Object 0x000001

地址名称 属性 name 属性 age
0x000001 "xiaoming" 18

网站公告

今日签到

点亮在社区的每一天
去签到