標籤:有一個 特性 引擎 比較 nbsp Google creates 分配 非阻塞
node.js node是平台也是語言。它是平台或者運行環境,能夠讓js在伺服器端運行,因為它封裝V8引擎(引擎,能夠將js代碼解析成電腦能夠懂得語言),能夠讓js運行在其他的平台上面,而不只是運行在瀏覽器上 。它是伺服器端語言,類似於php,java。js是解釋性的語言,沒有經過編譯,電腦認不到,所以Googlev8引擎編譯js代碼。
回呼函數函數a有一個參數b,b是一個函數,當函數a執行完後,再執行b。函數b是以參數的形式傳遞給函數a的。
node.js特點(單線程,非同步,非阻塞)(瞬間的輸送量非常大) 非同步,非阻塞: 阻塞(來了一個請求,必須把這個請求執行完,才執行第二個請求),非阻塞(來了一個請求,就執行一次回調。來了多個請求,就執行多次回調)。單線程:一個核裡面跑一個任務多線程:一個核裡跑多個任務,一個進程裡面有很多個線程。
模組 檔案和模組一一對應,一個檔案就是一個模組,對外暴露多個用module.exports,對外暴露一個用exports
js單線程和非同步 單線程和非同步確實不能同時成為一個語言的特性。js選擇了成為單線程的語言,所以它本身不可能是非同步,但js的宿主環境(比如瀏覽器,Node)是多線程的,宿主環境通過某種方式(事件驅動)使得js具備了非同步屬性。js是單線程的語言,瀏覽器只分配給js一個主線程,然後為一些比較耗時的任務另外開闢了一個線程,這個線程裡的任務是非同步。
node.js路由對不同的請求做不同的響應,
try--catch將代碼放在try裡面,如果裡面的代碼沒有錯誤處理機制的話,錯誤就會被catch捕獲到,執行catch方法。
總結HTTP: var http = require("http");//nodejs 載入模組的方法 ,http 系統模組專門供node建立服務用的。 引入http模組,可以實現區域網路通訊,建立服務,http://請求等。 http.createServer(function(){}) //建立服務URL: var url = require(‘url‘);url.parse(req.url); //引入url模組,可以將請求的url轉換成對象。
node.js學習筆記一