NodeJS是運行在Chrome V8引擎上,解析JavaScript的運行環境。其特點事件驅動、無阻塞IO,輕量級,運行高效,基於npm管理。
(1)NodeJS與JavaScript的區別
NodeJS是運行解析JavaScript腳本的運行環境,相當雲Java對JVM。
(2)NodeJS
① NodeJS的結構包含V8 JavaScript解析引擎,ECMAScript。
②中間層(提供文件操作、網絡操作),接近操作系統接口的開發人員使用。
③硬件層
(3)NodeJS社區
2009年,作爲第三方項目託管到githup,
(4)安裝與配置
從下載nodejs包。
windows環境搭建,下載 .mis包,下一步安裝即可。
(5)node基礎
①REPL (Read-eval-print-loop)
其實就是一個運行javascript的cmd命令行工具,運行JavaScript代碼。
(6)global全局變量
var a = 123;
b = 456;
這兩行代碼的差別,在瀏覽器解析js引擎中會創建一個window的全局變量 var a = 123;這種方式會將a變量給window。
nodejs 有一個全局變量global,與瀏覽器解析js產生一個window全局對象一樣,但是var a 變量定義方式並不會把a 給全局gobal,因爲nodejs對js文件限制的作用域就是js文件內,通過a = 值的方式可以將變量a給全局變量global。
這裏列出其他的一些常用的全局變量
__dirname & __filename 當前文件夾和當前文件目錄 |
setInterval() & clearInterval() |
setTimeout() & clearTimeout() |
console |
exports & module |
process |
require() |
Class:Buffer |
(7)console
nodejs 下的相比瀏覽器環境下的console有所增強。
①斷言 console.assert(express,out); express爲條件表達式,out爲表達式不成立輸出的內容
②console.time() & console.timeEnd() 計算出運行在這兩段代碼中的運行時間,傳入的參數要一致。
(8)Process
process對象提供當前node的進程信息,
process.version取版本號 在控制檯做標準輸出 process.stdout.write(`123123`); process.pid:當前進程的進程號。 process.version:Node的版本,比如v0.10.18。 process.platform:當前系統平臺,比如Linux。 process.env:指向當前shell的環境變量,比如process.env.HOME。 process.stdout:指向標準輸出。 process.stdin:指向標準輸入。 |