看了《你不知道的JavaScript(上卷)》的第一部分——作用域和閉包,感受頗深,遂寫一篇讀書筆記加深印象。路過的大牛歡迎指點(diǎn),對(duì)這方面不懂的同學(xué)請(qǐng)繞道看書,以免誤人子弟... 看過這本書的可以一起交流交流。
編譯過程
理解js作用域首先要了解js的編譯過程(或者說解析過程)。
引擎
從頭到尾負(fù)責(zé)整個(gè) JavaScript 程序的編譯及執(zhí)行過程。編譯器
引擎的好朋友之一,負(fù)責(zé)語法分析及代碼生成等臟活累活(詳見前一節(jié)的內(nèi)容)。作用域
引擎的另一位好朋友,負(fù)責(zé)收集并維護(hù)由所有聲明的標(biāo)識(shí)符(變量)組成的一系列查詢,并實(shí)施一套非常嚴(yán)格的規(guī)則,確定當(dāng)前執(zhí)行的代碼對(duì)這些標(biāo)識(shí)符的訪問權(quán)限。
都說node是基于chrome的V8引擎開發(fā) 的。那么V8是引擎,node是編譯器嗎?這個(gè)理解是錯(cuò)誤的!我之前就是這么錯(cuò)誤理解的,聽說node是用C++實(shí)現(xiàn)的,之前我一直以為V8是負(fù)責(zé)把javascript語言轉(zhuǎn)換成底層的C++,然后node很高級(jí)node負(fù)責(zé)編譯,做js的語法檢察,ES6的新特性全都是node的開發(fā)人員,一點(diǎn)點(diǎn)的開發(fā)支持起來的。然而現(xiàn)實(shí)是,
網(wǎng)友評(píng)論