JS进阶复习
JS第一天:
- 作用域: 全局 局部: 块级 函数 …. 作用域链
- JS垃圾回收机制GC, 内存分配, 内存使用, 内存回收 全局作用域浏览器关了才回收, 函数作用域执行完后才回收
- 闭包 内部函数+外部函数的变量
- 变量和函数的提升
- 函数的动态参数和剩余参数–展开表达式
- 箭头函数: this指向上一个作用域的this
- 数组解构, 多维数组
- 对象解构, 多维对象
- forEach: 循环遍历数组对象
- filter数组筛选: 会返回一个新数组
- 价格筛选案例
- 王者荣耀筛选英雄案例
JS第二天:
创建对象的三种方式: 1. 字面量 2. new Obj 3. 构造函数创建
实例化: 通过构造函数的new对象叫实例化, 无需return且返回的是新对象值无效
实例化过程: 1. 先创建空对象 2. this指向空对象 3. 依次执行函数代码 修改this 修改属性 4. 返回新对象
实例成员: 实例对象的实例属性和实例方法叫实例成员
静态成员: 构造函数的静态属性和静态方法叫静态成员
基本包装类型: 因为JS底层将基本数据类型包装成了复杂数据类型
内置构造函数:
1. Object的静态方法:
- 获取所有属性名keys 2. 获取所有属性值values 3. 对象的拷贝assign
Array的数组实例对象方法:
reduce累计器: 返回处理后的结果 用于数组求和
执行过程: 上一次值是数组第一个值加上当前值, 返回的值为下一次循环的上一次值
2. 数组常见方法:
find查找: 查找符号条件的数据返回其对象
every: 每个是否符号条件 都符号返回true 不符号返回false
some: 只要有一个符号 就返回true
join: 把数组转换为字符串 用于字符串分隔
from静态方法: 将伪数组转换为真数组
3. 字符串常见方法:
split: 把字符串转换为数组 和join相反
substring: 字符串截取.(开始, 结束) 结束的索引号不包含截取的部分
startswith: 判断是否以某个字符开头 返回true false
includes: 判断字符是否包含在字符串里 返回true false
4. Numbel数字方法:
- toFixed(2) 保留小数 不写则四舍五入
- String/toString: 数字转换为字符串
5.案例
- 渲染小兔鲜购物车案例
- 购物车案例
JS第三天
- 构造函数会导致内存浪费问题
1. 面向过程:
- 面向过程: 分析解决问题所需的步骤 用函数一步步实现 用时使用依次调用
- 按照分析好的步骤 按步骤解决问题
2. 面向对象:
- 面向对象: 把事务分解成对象 由对象之间分工合作
- 是以对象功能划分问题 而不是步骤
- 面向对象的特征: 封装、继承、多态
3. 面向过程和面向对象的区别:
- 面向过程性能高 但没有面向对象易维护、复用、扩展
- 面向对象性能低
4. 复习:
- JS面向对象需借助构造函数来实现
- 构造函数存在浪费内存问题
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小城故事!
评论