为什么要使用匿名函数?
凡事有利也有弊
优点:
- 代码简洁、容易封装和模块化
- IIFE即用即弃,方便回调函数使用
- 闭包
- 形成独立作用域
缺点:
- 非直观
- 每次调用都要创建新的函数,某些情况下可能会对性能有影响。
array的一些常用方法
reduce:可用于累计数组中的元素,若要从右往左调用,可使用reduceRight。slice:可以截取生成子数组。pop:获取最后一个元素属性并删除。
map的一些常用用法
get('key'):获取key对应的value。has('key'):查看key是否有对应的value,有则返回true。set('key', 'value'):用于添加属性。
map VS set
Map和Set是两种不同的数据结构,都能记住插入的顺序,它们具有以下区别:
-
数据结构:
Map是一种键值对的集合,其中每个元素都由一个唯一的键关联到一个值。Set是一种存储唯一值的无序集合。
-
存储的值:
Map中的值可以是任意类型,包括基本类型和对象。Set中的值只能是唯一的基本类型或对象的引用。
let o = { a: 1, b: 2 };
mySet.add(o);
mySet.add({ a: 1, b: 2 }); // o 指向的是不同的对象,所以没问题
- 唯一性:
Map根据键的唯一性来存储和检索数据,同一个键可以对应不同的值。Set根据值的唯一性来存储数据,不允许重复的值存在。