js复习之基础总结-数据类型;数据,变量,内存。

本篇内容主要包括一下几点

1. 数据类型的分类和判断

  • 基本(值)类型

    • Number ----- 任意数值 -------- typeof 返回i字符串
    • String ----- 任意字符串 ------ typeof
    • Boolean ---- true/false ----- typeof
    • undefined — undefined ----- typeof/===
    • null -------- null ---------- ===
    • symbol------symbol(str) ------typeof
  • 对象(引用)类型

    • Object ----- typeof/instanceof
    • Array ------ instanceof
    • Function ---- typeof/instanceof
  • typeof ,instanceof === 用来判断数据类型

  • js内存的主要俩大类:

    • 栈内存:主要存放全局/局部变量的内存
    • 堆内存:可以存放的是对象的内容
    • 注意:如果是引用类型:栈内存中有一块空间存放着堆内存某个对象的地址信息

2. 相关问题

  1. var a = xxx, a内存中到底保存的是什么?
    • xxx 是一个基本数据时:存放的就是一个基本值
    • xxx是一个对象时:存放的就是一个对象在堆内存中存在的地址值
    • xxx是一个变量时:参考1,2
  2. 引用变量赋值问题:
    这个比较简单:就是如果俩个变量指向的时同一个对象,那么通过一个变量来改变对象的值,另外一个变量指向的值也会发生改变(本质就是指向的同一个对象)。
  3. js调用函数在传递变量参数时,是值传递还是引用传递?
    本质是是值传递(但是这个值可能是一个基本值,也可能是一个对象的地址)。如果把后一种看成是引用传递,那么表示值传递和引用传递。
  4. js引擎是如何管理内存的?
  • 当变量被声明时:首先是分配需要的内存;然后使用分配到的内存;不需要时将其释放并归还。
  • 释放内存
    • 为函数分配的栈空间内存:函数执行完自动释放。
    • 存储对象的堆空间:当内存没有引用指向时,对象就会成为垃圾对象。垃圾回收器后面会定时进行释放内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值