js中的数据类型区别&&执行顺序

本文详细讲解了JavaScript中的基本数据类型(如Number、String、Boolean等)和引用数据类型(如Array、Object等)的区别,包括存储方式、检测方法和执行顺序。通过实例演示如何正确识别和判断数据类型,以及它们在编程中的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、js数据类型分为两种 ‘基本数据类型’ 与 ‘引用数据类型’

基本数据类型:number string boolean null undefined symbol bigInt

引用数据类型: Array RegExp    Object function data set map 

二、基本数据类型与引用数据类型的区别

基本数据类型存储: 主要针对(Number、String、Boolean)三种数据。直接存储在栈(stack)中,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储。


引用数据类型存储: 主要针对Object、Array这两种引用数据以及null, 同时存储在栈(stack)和堆(heap)中,占据空间大、大小不固定。引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。

三、判断数据类型

console.log(typeof null); //object
console.log(typeof 'sss');//string

console.log(Object.prototype.toString.call([]));//[object Array]
console.log([] instanceof Array);  //true
let obj = {}
console.log(obj.constructor == Object); // true

使用typeof检测基本数据类型的时候null会返回Object是因为,Js中的基本数据类型都存储在32位的二进制单元当中,低三位的数字用于表示该数据的类型,当传入一个null的时候,因为null存储时32位的数字表示都是0,所以低三位也是0,typeof就将其认定为object类型的了。
检测引用数据类型的方法有
instanceof 只有知道数据类型才可以判断   语法: 要判断数据类型的变量 instanceof Array
constructor 语法: 要判断数据类型的变量.constructor === Array
Object.prototype.toString.call() 原生js最全能的数据类型判断 "[object 数据类型]"

四、数据类型的执行顺序

1.基本数据类型的执行顺序

2.引用数据类型的执行顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值