set和map差别:set只有值,map是键值对,set存储的变量都是唯一的,但是加入set中不会进行类型转换,所以5和“5”是两个不同的变量。
set的操作:
add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除成功。
has(value):返回一个布尔值,表示参数是否为Set的成员。
clear():清除所有成员,没有返回值。
Set.prototype.size:返回Set实例的成员数量。
Set.prototype.constructor:默认的构造Set函数。
Set有四个遍历方法。可以用于遍历成员。
keys() :返回一个键名的遍历器
values() :返回一个值的遍历器 由于没有keys 所以返回的数是一样的
entries() :返回一个键值对的遍历器 每次输出一个键值对的数组,成员都是一样的
forEach():使用回调函数遍历每个成员
WeakSet结构有以下的上方法
WeakSet.protoptype.add(value):向WeakSet实例添加一个新成员。
WeakSet.protoptype.delete(value):删除WeakSet实例指定成员。
WeakSet.protoptype.has(value):返回一个布尔值,表示某个值是否在WeakSet实例中。
weakSet是弱引用,不能遍历,WeakSet的一个用处就是存储DOM节点
WeakMap 只能用Object作为key,不能用基本数据类型比如字符串作为key
WeakMap 中的key是弱引用
WeakMap 没有size