生成器 | 迭代器
生成器:
在 function 后加 * , 如图:
调用方面 固定在后面接 next() ,且看打印的内容,如下:
我们可以看到 每一次的打印 执行的就是对应次数的内容 ,且 方法后面的 done 的值指的是 是否还能继续迭代
迭代器:
使用的是 数组/伪数组 里面的 Symbol.inerator ,使用如下:
和生成器是很像的 都是需要使用 next() , 而且我们一般这样使用,使用的都是它的语法糖 —— for of (对象不能使用 因为它没有 Symbol.iterator)
但是我们想要对象也能使用迭代器有没有方法呢? 答案是有!
如图:
打印出来的结果 也是正确的 !
但是一定要注意 数组的结构调用的是 迭代器 和对象的结构是不一样的,可以看下图:
打印出来的结果分别如下: