ES6学习巩固4

1、Array构造函数传入的参数类型和个数会影响结果

      new Array(1) 返回 []

      new Array('1') 返回 ['1'] 

      new Array(1,'1') 返回 [1,'1']

      Array.of() 不管传入什么 都作为成员 

      Array.from(arr,fn,this) 将 arr 用 fn  迭代 fn 中的 this 由于 第三个参数this 指定  返回一个数组 用于将一个可迭代对象变成数组

      find(fn) 返回符合fn 的第一个元素 

      findIndex(fn) 返回符合fn 的第一个元素 的索引

      fill(item,start,end) 将 item 填充到 [start,end) 位置

      copyWithin(开始粘贴位置,开始复制位置,复制结束位置) 将 [开始,结束) 中的值复制 从 开始粘贴位置覆盖 

      定型数组 就是存储的元素是一个类型的数组 

      数组缓冲区 一段内存

      视图  将这一段内存的值的映射 按照一段段的 放到数组中

      视图就是一个定型数组 可以读取其中的一个或者多个元素 

      特定类型的视图 就是只能读取固定位数的元素的数组 

      定型数组有些和普通数组同名并且表现相同的方法 迭代器的表现相同 

      定型数组没有改变数组本身空间大小的方法 

      定型数组 有 set(arr,start) 方法 将 start 位置开始 用 arr 覆盖 

2、promise将嵌套的回调用函数.then() 铺开 

      promise有未完成和已完成两种状态 

      已完成状态包含 成功 和 失败 

      new Promise((成功回调,失败回调)=>{}) 创建一个未完成的 

      Promise.resolve() 创建一个已经成功完成的 用来将实现 .then接口的对象包装成一个 Promise对象

      promise报错后 如果没有定义 失败回调 就捕获不到异常

      promise.then(成功,失败)

      promise.catch(失败) 可以捕获异常

      unhandledRejection 事件 捕获本次时间循环的异常

      rejectionHandled 事件在下一轮事件循环执行

      串联 promise中可以返回新的promise  然后 在用 .then() 就可以声明新的promise的成功和失败逻辑

      并联 Promise.all(promise,promise).then([result1,result2]=>{}) 多个promise全部执行完后 获取全部结果

      并联 Promise.race(promise,promise).then(result=>{})  多个promise中只要有一个完成 就返回它的结果 

3、代理 就是在用户和目标中间加个中间人 

      在代理给对象配置相应的行为对应的钩子 在钩子中判断要不要将这个行为在目标对象上执行 如果要执行就调用这个钩子对应的反射 让反射去操作目标对象做动作

4、模块化 区别于脚本 javascript 只要不是模块的都是脚本

      模块有自己的作用域 有入口有出口 入口导入别的模块 出口暴露成员给别的模块导入

      export let xxx 导出 xxx 导入的时候 要 写成 import {xxx} from './xxxx.js'

      export default let yyy 导出 yyy 导入的时候要写成 import yyy from './xxxx.js'

      如果 两种导出都有 那么导入的时候要写成 import yyy,{xxx} from './xxxx.js' 来分别取到导入的值 

      导入的值相当于常量 不能修改

      如果 模块是用来修改全局变量的 比如 Array对象的原型 导入的时候不一定要获得变量 import './xxxx.js' 执行就行

      在浏览器中 用 ''  '' 来使用模块,默认是defer的 同步顺序执行 改成async 后可以不安顺序执行 但如果有依赖别的模块的化 不管是defer 还是 async 都要等依赖的所有模块都加载完成 才会执行

      

      

       

      

      

      

      

        

 

你可能感兴趣的:(ECMAScript2015)