js的数据类型

基本数据类型
String、Number、Boolean、null、undefind、Symbol、BigInt
基本数据类型存储在栈内存中的,因为基础的数据类型占用空间比较小,大小值是固定的,通过值来访问,属于被频繁使用的数据
注意:Symbol和BigInt是ES6引入的新的数据类型

引用数据类型(复杂数据类型)
Object、Date、Function、Array等等
引用的数据类型存储在堆内存中,因为引用的数据类型占空间比较大,占用内存大小也不固定。如果存储在栈中,则会影响到程序运行的性能,引用数据类型在栈中存储了指针,改指针指向堆中的起始地址,当我们需要引用值时,就会检索其在栈中的地址,取得地址后再从堆中获得值

js内存分为栈内存和堆内存

栈内存:是一种特殊的线性表,具有后进先出的特性,存储着基本数据类型
堆内存:存放引用的类型,在栈内存中会存储一个基本类型值保存对象在堆内存的地址,方便引用这个对象

可以通过typeof 检测基本数据类型和复杂数据类型
注意:typeof 对于基本类型,除了 null 都可以显示正确的类型,这是一个很久的bug,可以上网查资料

    var a = 0;  //number
    var b = 'this is str';  //string
    var c = null;  //object
    var d = [1,2,3];  //object
    var e = {m:20};  //object
    var f = undefined;  //undefind

还可以进一步使用instanceof确认复杂数据类型

数据类型的转换

转数字类型
1.number():把其他类型的数据转换为数值类型的数据

如果转换不是数字的字符串,typeof 会返回NaN ,NaN确是是数据类型的 但是不是一个数字

2.parseInt()把其他类型的数据转换为数值类型的数据;原则一位一位看,前面是数字就保留,遇到不是数字,终止转换。否则就返回NaN

如果转换不是数据的字符串,也是返回NaN
不同于number的是 要是转换的类型是‘数字+字符串’parseint会转换前面的数字,去除其他非数字;

3.parsefloat();与parseint一样的转换原则;但是parsefloat能转换小数。

2.转字符串类型
(1)tostring方法
(2)利用+拼接字符串实现:console.log(num+“”)这是隐式转换
注意tostring括号不需要填充任何内容
var b2=a1.toString()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值