本文將講解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-...
函數是對象 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里找,沒找到的話,就在同一級里找(同一級找不到就往上找),這里只是說明了...