基础数据类型和复杂数据类型

本文探讨了JavaScript中的基础数据类型(如Number、String、Boolean、Null、Undefined、Symbol和BigInt)和复杂数据类型(如数组、对象)。讨论了0.1 + 0.2不等于0.3的原因,涉及浮点数精度问题。还解释了栈内存和堆内存的概念,以及如何修改和新增普通对象的值。

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

let声明的是变量,且可以变化的量,如果重复赋值,且后者会覆盖前者
const声明的常量,且不会变化的量,不能重复赋值,且声明的时候必须赋值

0.1 + 0.2 == 0.30000000000000004 为啥?

因为机器语言转成二进制,二进制在进行计算的时候出现了精度缺失,

七种基础数据类型:

1、Number:数值型 数据计算的范围是22013 ~ -22013
2、String:字符串,js可以识别+号两侧,但凡有一侧有+号 那就是拼接
3、Boolean:只有八种会转为false,其他的都为true,分别是Boolean(0),Boolean(0n),Boolean(undefined),
Boolean(null),Boolean(false),Boolean(" "),Boolean(NaN),Boolean( ),主要用于做判断处理
4、Null:空值 举例:有一块地名义上是我的,但是地上没有物品,不占空间是null,
5、undefined: 举例:有一块地名义上是我的,但是地上有我的物品,占空间是undefined,
6、Symbol:独一无二的值
7、Bigint:超大整数,使用的时候后面必须加n

复杂数据类型:

arr[] ,object{},函数function,内置对象:window ,document(Dom), Math数学对象 ,Date日期对象,除了基础类型以外的,其它都属于复杂数据类型

数组可以存放多条数据,序号从0开始数,而lengrh是从1开始数的,取值方式似arr[]
普通对象/实例对象 { } 是通过键值对的形式去存储,键名:键值,取值方式1:obj点,且点后面不能跟字符串和数字,字符串和数字必须要用中括号包裹,取值方式2:obj[" "] ,如果取值的时候中括号内不带引号,会率先识别为是不是变量

什么是栈内存和堆内存?

基础数据类型存的数据会存到栈内存中,复杂数据类型存的数据会存到堆内存中,
那么它俩为什么不相等呢? 原因是因为: 打个比方arr存的数据会存到13栋1307间,而arr1存的数据会存到14栋1307间,所有说它们的内存地址不相同,就不会相等


        let arr = [1,2,"雀雀",true]
        let arr1 = [1,2,"雀雀",true]
        console.log(arr == arr1);  //false

如何修改和新增普通对象里的值


        let age = "age"

        let obj = {
            name:"周杰伦",
            age:18,
            "abc" :"123",
            10:123,
            "10":"你好",
        }

        // 修改
        obj.name = "杰伦哥"
        // 新增
        obj.hobby = "爱打篮球"

        // 修改值
        obj[10] = "ABC"
        console.log(obj);
        console.log(obj.length);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值