T-Node.js基礎-day01-Node.js概述、對象、模塊

Node.js概述

  • Node.js運行在服務器端的JS解釋器,基於谷歌的V8引擎解釋器,可以實現服務端操作,例如數據庫操作,web服務器的創建。
  1. 對比JS和Node.js區別
    • JS運行在客戶端瀏覽器,存在多款瀏覽器,代碼有兼容性問題;Node.js運行在服務器端,只有一個解釋器,代碼不存在兼容性問題
    • 兩者都有自定義對象和內置對象,不同的宿主對象
    • JS用於瀏覽器端的交互效果,Node.js用於服務器端操作,例如數據庫的操作,web服務器的創建等
    • node.js下載地址
  2. 執行方式
    1. node c:/xxx/../01.js 回車----腳本模式
    2. 進入交互模式:node 回車
      退出交互模式:兩次ctrl+c 或者.exit回車
  3. Node.js特點
    1. 簡單,避免過度設計
    2. 單線程邏輯處理
    3. 非阻塞的異步I/O處理
    4. 事件驅動編程
    5. 無鎖機制,不會產生死鎖
    6. 支持數萬個併發連接
  4. Node.js適合的搭建以IO操作爲主、響應速度塊、易於擴展的網絡應用:
    1. 命令行工具
    2. 帶有GUI界面的本地應用程序
    3. 交互式終端程序
    4. 單元測試工具
    5. 基於社交網絡的大規模Web應用
    6. Web Socket服務器
    7. TCP/UDP套接字程序
    8. 客戶端Javascript編譯器
  5. Node.js不捨和CPU密集型應用
    1. 深層次的嵌套和遞歸
    2. 複雜加密和解密算法
    3. 高可靠性運算
    4. 嚴格內存管理
    5. 數據挖掘和數據分析

全局對象-global

  • Node.js:
    在交互模式下創建的函數和聲明的變量都是全局global下的,可以使用global訪問;例:global.a,global.fn()
    在腳本模式下創建的函數和聲明的變量都不是全局global下的,都是局部的(原因在模塊中介紹)
  • JS:window
    在JS下創建的函數和聲明的變量都是全局下的,可以使用全局對象window來訪問;window.a,window.fn()

console對象

  • console.log(1); //輸出日誌
  • console.info(2);//輸出消息
  • console.warn(3);//輸出警告
  • console.error(4);//輸出錯誤
  • console.time() 開始計時
  • console.timeEnd() 結束計時
    開始和結束計時打印的內容要保持一致。
    練習:查看循環10000次,for,while,do-while的耗時情況

porcess對象

  • process表示進程的對象
  • process.arch 查看CPU架構
  • process.platform 查看當前操作系統
  • process.version 查看當前nodejs版本號
  • process.env 查看當前環境變量有哪些

buffer對象

  • 緩衝區:在內存中臨時存儲數據的區域,通常網絡傳輸的數據都是在緩衝區。
  • 創建Buffer
    let buf=Buffer.alloc(5,'abcde');
  • 轉爲字符串
    buf.toString() String(buf)

模塊

  • 就是一個獨立的功能體
  • 在Node.js下規定,任意一個文件就是一個模塊
  • 分爲自定義模塊、核心模塊、第三方模塊
  • Node.js自動爲每一個文件添加了一個構造函數
    (function (exports, require, module, __filename, __dirname) {
        //函數體內是程序員自己寫的代碼
        //require:是一個函數,用於引入另一個模塊
        //exports:是導出的對象,如果要導出內容,都是往這個對象中添加
    })
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章