首頁  >  文章  >  web前端  >  node的全域物件是什麼

node的全域物件是什麼

WBOY
WBOY原創
2022-04-22 16:10:362768瀏覽

在node中,全域對像是不需要引用就可以直接使用的對象,可以分為:1、為模組包裝使用的全域對象;2、process對象;3、控制台Console模組;4 、EventLoop相關api;5、Buffer物件;6、global。

node的全域物件是什麼

本教學操作環境:windows10系統、nodejs 12.19.0版本、Dell G3電腦。

node的全域物件是什麼

全域物件就是不需要引用就可以直接使用的物件。需要注意的是全域物件區別於global關鍵字。

nodejs全域物件分為以下幾類:

#1、為模組包裝使用的全域物件

(1 )exports

(2)module

(3)require

(4)__filename:目前檔案名稱

(5)__dirname:目前檔案目錄

2、process物件

##3、控制台Console模組

4、EventLoop相關api

(1)setImmediate

(2)setInterval

(3)setTimeout

(4)相關clear

#5、Buffer物件

6、global

#所有全域變數(除了global 本身以外)都是global 物件的屬性

#範例如下:

Class:Buffer
可以處理二進位以及非Unicode編碼的資料

在Buffer類別實例化中儲存了原始資料。 Buffer類似一個整數數組,在V8堆原始儲存空間給它分配了記憶體

一旦建立了Buffer實例,則無法改變大小

##process
進程對象,提供有關當前過程的資訊和控制

包括在執行node程式的過程中,如果需要傳遞參數,我們想要取得這個參數需要在process內建物件中

啟動進程:

 node index.js 参数1 参数2 参数3

index.js檔案如下:

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`);});

輸出如下:

/usr/local/bin/node/Users/mjr/work/node/process-args.js
参数1参数2参数3

除此之外,還包括一些其他資訊如版本、作業系統等等

node的全域物件是什麼

console
用來列印stdout和stderr

最常用的輸入內容的方式:console .log

console.log("hello");

清除控制台:console.clear

console.clear

列印函數的呼叫堆疊:console.trace

function test() {
    demo();}function demo() {
    foo();}function foo() {
    console.trace();}test();

node的全域物件是什麼

clearInterval、setInterval
設定定時器與清除定時器
setInterval(callback, delay[, ...args])

callback每delay毫秒重複執行一次

clearInterval則為對應發取消定時器的方法

clearTimeout、setTimeout
設定延時器與清除延時器
setTimeout(callback,delay[,...args])

callback在delay毫秒後執行一次

clearTimeout則為對應取消延時器的方法

global
全域命名空間對象,牆面講到的process、console、setTimeout等都有放到global中
console.log(process === global.process) // true

模組層級的全域物件

這些全域物件是模組中的變量,只是每個模組都有,看起來就像全域變量,像在命令互動中是不可以使用,包括:

__dirname
  • __filename
  • exports
  • module
  • #require
__dirname
取得目前檔案所在的路徑,不包含後面的檔案名稱

從/Users/mjr 執行node example.js:

console.log(__dirname);// 打印: /Users/mjr

__filename
取得目前檔案所在的路徑和檔案名稱,包括後面的檔案名稱

從/Users/mjr 執行node example. js:

console.log(__filename);// 打印: /Users/mjr/example.js

exports
module.exports 用來指定模組所導出的內容,也就是可以透過require() 存取的內容
exports.name = name;exports.age = age;exports.sayHello = sayHello;

module
對目前模組的引用,透過module.exports 用來指定模組所導出的內容,也就是可以透過require() 存取的內容

#require
用於引入模組、 JSON、或本機檔案。可以從 node_modules 引入模組。

可以使用相對路徑引入本地模組或JSON文件,路徑會根據__dirname定義的目錄名稱或當前工作目錄進行處理

#推薦學習:《

nodejs影片教學

#

以上是node的全域物件是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn