nodejs
JavaScript是一個什麼語言
輕量級 弱類型 腳本語言
JavaScript的運行環境是什麼?
瀏覽器?瀏覽器內核中的JavaScript解析引擎
JavaScript 可以幹什麼?
特效? DOM操作
交互 ajax jsonp
遊戲? DOM操作 Canvas
表單驗證
JavaScript 不可以做什麼?
操作文件和文件夾
操作OS
獲取系統信息
爲什麼js做不到 弱類型?
安全
應爲JavaScript的運行環境特殊 瀏覽器內核的js引擎
什麼可以決定語言的能力
不是應爲語言具有哪些功能
運行環境
什麼是運行環境?
所有的語言都需要一個運行環境
計算機不認識你的語言
計算機只認識機器語言 —》二進制
Java 運行在 Java虛擬機
C# 運行在 .Net
什麼是nodejs
nodejs 就是JavaScript的運行環境
爲什麼會有nodejs
因爲需要
需要JavaScript這個語言運行在服務器上
node 是一個運行環境 是一個平臺 開始是由一個人設計的
node選擇了js 而不是js發展出的node
設計了一個平臺 用於運行js
node環境是跨平臺的
node運行在服務端 沒有DOM BOM
JavaScript的組成部分
- ECMAScript // 編程語言
- DOM
- BOM
沒有了DOM 和 BOM JS還能做什麼?
其他語言能做到的 node 都能做
ECMAScript內置對象
Object Array String Boolean Null Undefined
Date Math Number …
node
node的組成
ecmascript libuv
基於v8引擎
REPL環境
Read - Eval - Print - Loop
退出REPL Ctrl+C 連按兩次 | .exit
node環境的全局對象
global
nodejs概念
nodejs是建立在谷歌v8引擎上的javascript運行環境
nodejs基於非阻塞I/O模型
Input/Output 都是阻塞操作
用戶的輸入都是無狀態的 所以都是阻塞操作
nodejs 它的運行環境是單線程
nodejs 處理阻塞操作 通過的是 異步(回調)
單線程(主線程)主要來處理業務邏輯 執行js
遇到阻塞操作 將阻塞操作提出 放入 事件隊列(Event Loop)
nodejs 優勢 處理高併發能力
File System(fs)
const fs = require(‘fs’); //引入fs模塊
文件讀取
fs.readFile(path[, options], callback)
寫文件
fs.writeFile(file, data[, options], callback)
修改文件名
fs.rename(oldPath, newPath, callback)
讀取文件夾
fs.readdir(path[, options], callback)
Path
path.join() //連接路徑