js中的数据类型

1.先说一下数据类型都有哪些?

分为基本数据类型和引用数据类型

①基本数据类型包括: Number、String、Boolean、Undefined、Null、Symbol 和 BigInt

②引用数据类型包括:Object。包含Object、Array、 function、Date、RegExp。

2.怎么去判断它是引用数据类型还是基本数据类型呢?

一共有下面这几种方法:

typeof、instanceof、constructor、Object.prototype.toString.call()、jquery.type()

①typeOf:

 

简单而言呢,typeOf检测基本数据类型 对于基本数据类型的判断是没有问题的,但是如果遇到引用数据类型(Array)是不起作用的

②instanceOf:

instanceof检测的是原型 不考虑 null 和 undefined(这两个比较特殊)以对象字面量创建的基本数据类型

③constructor:

 

constructor似乎完全可以应对基本数据类型和引用数据类型 但如果声明了一个构造函数,并且把他的原型指向了 Array 的原型,这种情况下,constructor 也显得力不从心。检测undfinded和null无效

Object.prototype.toString.call():

简单来说是一种完美的解决方案

3.那么基本数据类型和引用数据类型怎么区分 有什么区别呢?

基本数据类型和引用数据类型主要存在栈和堆存贮的区别

基本数据类型存储在栈中 ,在栈中大小固定 主要存储的是string、boolean等基本数据类型 ,所以存在栈中

而引用数据类型存储在堆中,在堆中大小不固定,主要存储object、array以及null等,所以存在堆中

4.如何在内存中执行的代码?

引用数据类型:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值