Es6-迭代器与生成器

一、proxy

proxy作用:

1、代理

2、解决跨域问题

new Proxy(traget ,handler)

target:表示所要拦截的目标对象,handler:也是一个对象,用来定制拦截行为(方法)(函数)

3、ownKeys拦截操作,拦截过滤Object.ownKeys()对对象的属性遍历

4、has()拦截操作,拦截key in object的操作,结果会返回一个布尔值

5、apply()方法 除了对象类型的变量可以被代理,函数也可以被代理。如果被代理的变量是一个函数,那么还会支持一个拦截程序:apply调用

6、如果创建了代理之后又想取消代理的话,我们可以用Proxy.revocable()(可废止的,可撤回的;)函数来实现,它会返回一个对象

//对象中含有一个proxy属性,它就是Proxy的代理实例对象;还有一个revoke属性,它是一个方法,用于取消代理

二、for……of

for……of可遍历的数据类型:数组,伪数组,字符串,Set,Map

1、for循环    弊端:代码不简洁

2、forEach    弊端:不能中断循环

3、for……in    弊端:索引是字符串类型

4、for……of

特点:

  (1)、代码简洁

  (2)、中断循环

  (3)、索引是number类型

  (4)、索引和值可以分开遍历

    1、遍历伪数组

    2、遍历字符串

三、Iterator遍历器

1、for……of为什么不能遍历对象

因为对象的构造函数中没有Symbol类型的属性    Symbol.iterator

2、iterator遍历器(迭代器)原理:当可遍历对象被for……of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象

3、for……of遍历的原理:

当可遍历对象被for……of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象

iterator里面的next()方法一直被调用,返回一个对象,里面有value,done属性,

直到done属性的属性值变成true,结束循环。

4、自定义迭代器

四、Generator函数

Generator函数的作用:异步操作

1、声明Generator函数 funaction*

2、调用 先产生一个iterator遍历器对象,里 面有个next()方法, 进行调用

在返回一个对象有value done value是yield后面的值

3、return yield区别

return: 结束执行   函数的返回值,后面的语句不会执行

yield: 暂停执行    调用next()方法就会继续执行

4、next()方法还可以接受一个参数,它的参数会作为上一个yield的返回值

5、我们想调用另一个Generator函数,就需要用到的关键字是: *yield

五、class类

类的作用:生成一个对象,可以被继承

1、创建

默认有一个构造方法 this指向实例化对象

自定义方法 this指向实例化对象

静态方法static 实例化对象不能调用,需要用类调用 this指向当前类

2、类的继承

ES6使用extends关键字来实现子类继承父类

super
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值