本文将讲解babel是如何运行的,AST的结构,以及怎么创建一个babel的插件。 再讲babel之前,先不讲babel,AST的这些概念,先带你实现一个简易的babel解析...
本文将讲解babel是如何运行的,AST的结构,以及怎么创建一个babel的插件。 再讲babel之前,先不讲babel,AST的这些概念,先带你实现一个简易的babel解析...
代码优化
通过「换一种思路」来解决「异步」问题Rx.js比async还要好 我们的所有网页应用都是异步的:脚本加载播放器数据访问动画DOM事件绑定、数据事件绑定 异步编程 我们可以看到...
代码优化基本原则易读性优先如果不是性能瓶颈,就不要为了性能而改写代码复杂性守恒原则:无论你怎么写代码,复杂性都是不会消失的推论:如果逻辑很复杂,那么代码看起来就应该是复杂的。...
标准库的扩充 underscore.js 扩充了 Array 和 Object 相关 API moment.js 扩充了 Date bluebird.js / hax/my-...
var s = new Soldier({name: '123',肤色:'黄',id:1}) 2种都需要掌握
函数是对象 JS 中对象函数没有关系,JS 之父通过 this 强行使得它们有关系。 obj.fn.call(obj, 1,2,3) => obj.fn(1,2,3) 1、参...
封装:就是隐藏细节比如A对A A对B 继承:复用之前的代码更好用 多态:灵活div.childNodes 当把div当成节点的时候,就调用节点的APIdiv.child...
回调的形式 1、Node.js的error-first形式fs.readFile('./1.txt', (error, content)=>{if(error){// 失败}...
同步:等待结果异步:不等待结果// 同步的 sleepfunction sleep(seconds){var start = new Date()while(new Date...
回调名词形式:被当做参数的函数就是回调动词形式:调用这个回调注意回调跟异步没有任何关系 setTimeout(fn,1000)fn作为参数,所以是回调,然后setTimeou...
每个函数都有 return如果你不写 return,就相当于写了 return undefined 柯里化:将 f(x,y) 变成 f(x=1)(y) 或 f(y=1)x//...
这里的this就是那个元素div,是函数call的时候传的第一个参数——我们的需求是,当div被点击的时候,调用view里的onClick方法,但是这里是错的,是调不了的同样...
this 是隐藏的第一个参数,且一般是对象function f(){console.log(this)console.log(arguments)}f.call() // w...
词法树 fn2里的console.log(local1)里的local1是哪个local1?先在fn2里找,没找到的话,就在同一级里找(同一级找不到就往上找),这里只是说明了...