JS第一天:

  1. 作用域: 全局 局部: 块级 函数 …. 作用域链
  2. JS垃圾回收机制GC, 内存分配, 内存使用, 内存回收 全局作用域浏览器关了才回收, 函数作用域执行完后才回收
  3. 闭包 内部函数+外部函数的变量
  4. 变量和函数的提升
  5. 函数的动态参数和剩余参数–展开表达式
  6. 箭头函数: this指向上一个作用域的this
  7. 数组解构, 多维数组
  8. 对象解构, 多维对象
  9. forEach: 循环遍历数组对象
  10. filter数组筛选: 会返回一个新数组
  11. 价格筛选案例
  12. 王者荣耀筛选英雄案例

JS第二天:

  1. 创建对象的三种方式: 1. 字面量 2. new Obj 3. 构造函数创建

  2. 实例化: 通过构造函数的new对象叫实例化, 无需return且返回的是新对象值无效

  3. 实例化过程: 1. 先创建空对象 2. this指向空对象 3. 依次执行函数代码 修改this 修改属性 4. 返回新对象

  4. 实例成员: 实例对象的实例属性和实例方法叫实例成员

  5. 静态成员: 构造函数的静态属性和静态方法叫静态成员

  6. 基本包装类型: 因为JS底层将基本数据类型包装成了复杂数据类型

  7. 内置构造函数:

1. Object的静态方法:

  1. 获取所有属性名keys 2. 获取所有属性值values 3. 对象的拷贝assign

​ Array的数组实例对象方法:

  1. reduce累计器: 返回处理后的结果 用于数组求和

  2. 执行过程: 上一次值是数组第一个值加上当前值, 返回的值为下一次循环的上一次值

    2. 数组常见方法:

  3. find查找: 查找符号条件的数据返回其对象

  4. every: 每个是否符号条件 都符号返回true 不符号返回false

  5. some: 只要有一个符号 就返回true

  6. join: 把数组转换为字符串 用于字符串分隔

  7. from静态方法: 将伪数组转换为真数组

    3. 字符串常见方法:

  8. split: 把字符串转换为数组 和join相反

  9. substring: 字符串截取.(开始, 结束) 结束的索引号不包含截取的部分

  10. startswith: 判断是否以某个字符开头 返回true false

  11. includes: 判断字符是否包含在字符串里 返回true false

4. Numbel数字方法:

  1. toFixed(2) 保留小数 不写则四舍五入
  2. String/toString: 数字转换为字符串

5.案例

  1. 渲染小兔鲜购物车案例
  2. 购物车案例

JS第三天

  • 构造函数会导致内存浪费问题

1. 面向过程:

  1. 面向过程: 分析解决问题所需的步骤 用函数一步步实现 用时使用依次调用
  2. 按照分析好的步骤 按步骤解决问题

2. 面向对象:

  1. 面向对象: 把事务分解成对象 由对象之间分工合作
  2. 是以对象功能划分问题 而不是步骤
  3. 面向对象的特征: 封装、继承、多态

3. 面向过程和面向对象的区别:

  1. 面向过程性能高 但没有面向对象易维护、复用、扩展
  2. 面向对象性能低

4. 复习:

  1. JS面向对象需借助构造函数来实现
  2. 构造函数存在浪费内存问题