ES6走一波 module】的更多相关文章

ES6模块设计思想:  尽量静态化,使得编译时就能确定模块的依赖关系,输入.输出的变量.可做静态优化. ES6模块不是对象,而是通过export命令显示指定输出的代码,再通过import命令输入 export命令可出现在模块文件的任何位置,只要处于顶层即可 export default 为模块指定默认输出   import不要大括号 export export default 方法输出模块,import时可方便指定任意名字(不需要“大括号”语法) import 文件路径(绝对.相对)js后缀可省…
ES6字符串扩展: 处理大码点字符 字符的Unicode表示法 \uxxxx表示一个字符串,超出 \u0000 ~ \uffff范围,必须用两个双字节形式表示. ES6改进为 将码点放到大括号 可正确解读 codePointAt() JS字符以 UTF-16 格式存储,每个字符固定为2个字节.需要4个字节的字符,js认为它们是两个字符. codePointAt可正确处理 4 字节存储的字符 由4字节和2字节组成的字符串中 通过for ... of 循环可在第二次拿到2字节字符 codePoint…
Destructuring  变量的解构赋值 是一种模式匹配 ES6我关注点之一是用途  能否举些好例子是检验学习到位的方法之一 交换变量值 函数返回多个值 函数入参为对象.数组,内部使用更简洁 意义: 减少冗余代码 let {a, b} = {'', false} 对同一对象的多次属性获取的优化写法很简洁 let {sin, PI} = Math 变量解构赋值的过程是将值遍历的过程(等号右边的值是一个可遍历解构(实现了Iterator)) 默认值得生效条件: 值严格等于 undefined 捕…
Array flat 数组实例的扁平化方法(浏览器支持不佳) 建议使用 lodash的 flatten…
Iterator---> for ... of 循环 Generator函数原生具有 Iterator接口,所以可采用数组的形式解构赋值…
Proxy:像拦截器,对目标对象修改等进行拦截,是一种元编程(meta programming),即修改JS语言本身. //生成proxy实例,两个参数都是对象,targetObj是要拦截的目标对象,handlerObj参数用来定制拦截行为 var proxy = new Proxy(targetObj, handlerObj) Reflect:将Object对象一些明显的语言内部的方法,放到Reflect对象上. 修改某些Object的方法使返回更合理 1.规范语言 2.是Proxy对象的修改…
Generator 函数的异步应用 JS异步编程 callback Promise(解决回调地狱) 事件 发布订阅 generator Thunk函数  屁股函数 两次高阶调用的函数 第一次调用的入参作为最终被执行的函数fn,第二次调用的入参解构后和第三次调用的入参(cb)作为最终函数的参数…
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小工程,再用一种简单的方法把这些小工程连接在一起. 这有可能导致两个问题: 一方面js代码变得很臃肿,难以维护 另一方面我们常常得很注意每个script标签在html中的位置,因为它们通常有依赖关系,顺序错了可能就会出bug 在es6之前为解决上面提到的问题,我们得利用第三方提供的一些方案,主要有两种…
关于ES6的 模块功能 Module 中export import的用法和注意之处 export default 的用法 export default命令用于指定模块的默认输出.显然,一个模块只能有一个默认输出,因此export deault命令只能使用一次.所以,import命令后面才不用加大括号,相反其它的export 输出 可以有多个,且import时必须加大括号,示例如下: 1 // modules.js 2 function add(x, y) { 3 return x * y; 4…
深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性.可移植性,代码的可重用性. MVC即Model.View.Controller即模型.视图.控制器.我在和同行讨论技术,阅读别人的代码时发现,很多程序员倾向于将软件的业务逻辑放在Controller里,将数据库访问操作的代码放在Model里. 最终软件(网站)的代码结构是,View层是界面,Con…