Set对象 Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用
Set是唯一值的集合类似与数组,常用于数组去重
Set 对象的几个常用方法和属性
new Set() 创建新的 Set 对象。
add() 向 Set 添加新元素。
clear() 从 Set 中删除所有元素。
delete() 删除由其值指定的元素。
has() 如果值存在则返回 true。
forEach() 为每个元素调用回调。
keys() 返回 Set 对象中值的数组。
size 返回元素个数。
箭头函数的
不绑定arguments,用rest参数…解决
本身没有this的概念,捕获其所在上下文的 this 值,作为自己的 this 值,this指向全局
箭头函数不能使用new(会报错)
箭头函数没有原型属性(prototype)
箭头函数不能当做Generator函数,不能使用yield关键字
箭头函数不能换行
箭头函数有constructor、length属性
箭头函数可以立即执行
call,applay bind 的区别
1.applay、call、bind他们三个都能改变函数this的指向问题;
2.applay、call这两个方法的主动调用,bind返回的是改变this指向后的新函数;
3.传参的问题区别,call和bind都是直接传递参数,applay传递的是数组
如何实现call的原理
call(指向的对象,传入的值1,2...)
例子
Function.prototype.callFun = function(content,...a){
if(!content||content==null||content==undefined){
content = window;
}
let fn = Symbol();
content[fn] = this;
return content[fn](...a);
}
// obj.myFun.call()
obj.myFun.callFun(obj1,"马上下课","吃饭了");