1. 程式人生 > >JavaScript與node.js之把問題壁咚到牆角

JavaScript與node.js之把問題壁咚到牆角

一、學習方法

  1. 學會提問
  2. 科學思考

eg:為什麼要學node.js?

  • node.js很火。很多公司招聘都要求node

node為什麼火?

3.node和js有什麼區別?

  • node是平臺。js是語言。

衍生問題什麼是平臺:

(1)使用者軟體:

  • 瀏覽器:html、css、js
  • 安卓:java、Python、C++、C#
  • IOS:OBjective-C、C++
  • windowsPC: C C++ VB

(2)服務端軟體:

  • Java ,C++、node.js、Python、Php、C

(3)什麼是計算機語言?什麼是程式語言?

  • 計算機語言:指用於人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞資訊的媒介。
  • 程式語言:是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。

語言的比較:詞法分析。語法分析。語義分析。

(4)什麼是詞法分析?

  • 是電腦科學中將字元序列轉換為單詞(Token)序列的過程。
  • 識別關鍵字,識別符號,分界符,運算子。
  • 關鍵字:var if else funtion return  等待都是關鍵詞 
  • 識別符號:在計算機程式語言中,識別符號是使用者程式設計時使用的名字,用於給變數、常量、函式、語句塊等命名,以建立起名稱與使用之間的關係。識別符號通常由字母和數字以及其它字元構成。如 var = 1; funtion add (a,b){}
  • 分界符:(),{}  (把內容分成不同的域)
  • 運算子:+-*/ ^(異或)

(5)如果一個語言X和一個語言Y擁有相同的詞法分析。那麼X和Y是同一種語言嗎?

  • 答案很明顯,不是。

(6)什麼是語法分析?

  • 語法分析是編譯過程的一個邏輯階段。語法分析的任務是在詞法分析的基礎上將單詞序列組合成各類語法短語(簡單說就是將程式碼轉化為命令語句或者短語)

(7)如果一個語言X和語言Y擁有相同的語法分析,那麼X和Y是同一種語言嗎?

  • node.js和JavaScript

我們在來看下一個問題。

什麼是語義分析?

  • 程式作用在作業系統上,生成計算機作業系統能夠執行的程式。

通過以上這麼多提問,我們應該明瞭了一些。JavaScript是靠瀏覽器的js引擎編譯實現的。node.js是靠後臺伺服器編譯實現。

儘管他們的詞法和語法都相同,但是編譯環境不同,這就是他們的異同點。

未完待續。。。。。。