数据,内存,变量,对象,函数

本文探讨了数据、内存和变量的关系,重点讲解了JavaScript中参数传递方式、内存分配与释放机制,以及对象的使用及其管理。涉及栈、堆的区别,引用变量行为,函数调用中的值传递与引用传递,并剖析了对象、属性、方法和内存生命周期管理。
摘要由CSDN通过智能技术生成

1.什么是数据

  1. 存储在内存中代表特定信息的东西,本质上是0101、、
  2. 数据的特点:可传递,可运算
  3. 一切皆数据
  4. 内存中所有操作的目标:
    1)算术运算
    2)逻辑运算
    3)赋值

2.什么是内存

  1. 内存条通电后产生的可存储数据的空间(临时的)
  2. 内存产生和死亡:内存条(电路板)=>通电=>产生内存空间=>存储数据=>处理数据=>断电=>内存空间和数据都消失
  3. 一块小内存的2个数据:
    1)内部存储的数据
    2)地址值
  4. 内存分类
    1)栈:全局变量/局部变量
    2)堆:对象

3.什么是变量

  1. 可变化的量,由变量名和变量值组成
  2. 每个变量都对应的一块小内存,变量名用来查找对应的内存,变量值就是内存中保存的数据

4.内存,数据,变量关系

  1. 内存是用来存储数据的空间
  2. 变量是内存的标识

5.关于引用变量赋值的问题

  1. 2个引用变量指向同一个对象,通过一个变量修改对象内部数据,另一个变量看到的是修改之后的数据
  2. 2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一引用变量依然指向前一个对象

问题:在js调用函数时传递变量参数时,是值传递还是引用传递
理解1:都是值(基本/地址值)传递
理解2:可能是值传递,也可能是引用传递(地址值)

问题:js引擎如何管理内存

  1. 内存生命周期
    1)分配小内存空间,得到它的使用权
    2)存储数据,可以反复进行操作
    3)释放小内存空间
  2. 释放内存
    1)局部变量:函数执行完自动释放
    2)对象:成为垃圾对象==>垃圾回收器回收

6.什么是对象

  1. 多个数据的封装体
  2. 用来保存多个数据的容器
  3. 一个对象代表现实中的一个事物
6.1为什么要用对象

统一管理多个数据

6.2对象的组成
  1. 属性:属性名(字符串)和属性值(任意)组成
  2. 方法:一种特别的属性(属性值是函数)
6.3如何访问对象内部数据
  1. . 属性名:编码简单,有时不能用
  2. ['属性名’] :编码麻烦,能通用

问题 :什么时候必须使用['属性名’] 的方式

  1. 属性名包含特殊字符: - 空格
  2. 属性名不确定
var p={}
var propName='myAge
var value=18
//p.propName=value不能用
p[propName]=value

7.什么是函数

  1. 实现特定功能的n条语句的封装体
  2. 只有函数是可以执行的,其他类型的数据不能执行
7.1为什么要用函数
  1. 提高代码复用
  2. 便于阅读交流
7.2如何定义函数
  1. 函数声明
  2. 表达式
7.3如何调用(执行)函数
  1. test():直接调用
  2. obj.test():通过对象调用
  3. new test():new调用
  4. test.call/apply(obj):临时让test成为obj的方法进行调用
7.4什么函数才是回调函数

1.你定义的
2. 你没有调用
3. 但最终执行了

7.5常见的回调函数
  1. dom事件回调函数
  2. 定时器回调函数
  3. ajax请求回调函数
  4. 生命周期回调函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值