2021-01-03

iterator

  1. 部署了inerator就可以用forof遍历 2. 数组,setmap和nodelist和arguments 3. 什么是iterator借口 4. symbol.iterator属性,对应的值是一个函数,原理是,先创建一个指针对象,指向当前数据的起始位置,第一次调用next的方法,指针会自动指向对象的第一个成员,不断调用next,指针不断向后移动,直到指向最后 5. 先获取一个迭代器对象,调用next返回一个对象,包括数据和布尔值表示是否结束 6. 声明一个对象,对象里面盯着一个数组,遍历这个对象,使用forof遍历,会提示不能遍历,因为没有iterator接口,使用forof返回的结果是数组的成员, 7. 实现geneator特殊函数,进行异步编程 1. 声明加上星号 2. 返回一个迭代器对象,调用next才会执行里面的函数 3. yeild语句,可以看做是函数代码的分隔符,然后使用next可以一块一块的执行 4. 也可以使用forof遍历 5. 第二个next语句的参数,是第一个yield的返回结果,第三个作为第二个 实例应用 6. 数据库,文件,网络,都是异步的操作 7. 需求,一秒钟之后输出1,两秒钟后输出2,三秒钟后输出三 8. 原生settimeout嵌套实现,产生回调地狱 9. 声明三个函数 模块化☆☆☆重要重要重要 1. 一般不会直接引入模块,一方面是兼容性问题,可以通过bable来引入 2. bable是把es6变成es5,然后打包成为单独的文件,页面引入就可以了 3. 安装工具,bable cli bable preset env 预设包,把es6变成es5 browsify打包工具,比较简单 4. 安装命令, npm init yes 5. npm bable cli 杠d开发依赖 6. 然后做语法转换,npx执行bable命令,第一个参数,是源文件的目录, 杠d是存到那个文件夹下面,杠杠preset等于bable preset 7. 点开dist发现m1变成转变之后的效果, 8. 转换完之后,在打包,直接用页面引入也是不对的, 9. 打包 参数是入口文件 得到bounldjs

猜你喜欢

转载自blog.csdn.net/weixin_43124546/article/details/112141405