Das globale Objekt des Knotens ist „global“. Die grundlegendste Rolle von global besteht darin, als Host globaler Variablen zu dienen, und alle globalen Variablen (außer global selbst) sind Attribute des globalen Objekts. Auf globale Eigenschaften kann direkt in Node.js zugegriffen werden, ohne sie in die Anwendung einzubinden.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, NodeJS Version 16, DELL G3-Computer.
In JavaScript gibt es ein spezielles Objekt namens Global Object, auf das und alle seine Eigenschaften überall im Programm zugegriffen werden kann, d. h. globale Variablen.
In Browser-JavaScript ist window normalerweise das globale Objekt, während das globale Objekt in Node.js global ist und alle globalen Variablen (außer global selbst) Eigenschaften des globalen Objekts sind.
In Node.js können wir direkt auf globale Eigenschaften zugreifen, ohne sie in die Anwendung einzubinden.
Globale Objekte und globale Variablen
Die grundlegendste Rolle von global besteht darin, als Host globaler Variablen zu dienen. Gemäß der Definition von ECMAScript sind Variablen, die die folgenden Bedingungen erfüllen, globale Variablen:
Variablen, die auf der äußersten Ebene definiert sind,
implizit
definierte Variablen (Variablen ohne definierte direkte Zuweisung).
Wenn Sie eine globale Variable definieren, wird die Variable auch zu einer Eigenschaft des globalen Objekts und umgekehrt. Es ist zu beachten, dass Sie in Node.js keine Variablen auf der äußersten Ebene definieren können, da der gesamte Benutzercode zum aktuellen Modul gehört und das Modul selbst nicht den äußersten Kontext darstellt.
Hinweis: Es ist am besten, var nicht zum Definieren von Variablen zu verwenden, um die Einführung globaler Variablen zu vermeiden, da globale Variablen den Namespace verschmutzen und das Risiko einer Codekopplung erhöhen.
1. __filename
erstellt eine neue global.js mit dem folgenden Inhalt:
console.log( __filename );
führen Sie Folgendes aus:
node global.js __filename=/root/node_test/global.js
2. __dirname
erstellt eine neue dirname.js mit dem folgender Inhalt:
console.log( __dirname);
läuft wie folgt:
node dirname.js /root/node_test
3. setTimeout(cb, ms)
setTimeout(cb, ms) Die globale Funktion führt die angegebene Funktion (cb) nach der angegebenen Nummer aus Millisekunden (ms). :setTimeout() führt die angegebene Funktion nur einmal aus.
Gibt einen Handle-Wert zurück, der den Timer darstellt.
4. clearTimeout(t)
clearTimeout(t) Die globale Funktion wird verwendet, um einen zuvor über setTimeout() erstellten Timer zu stoppen. Der Parameter t ist der Timer, der durch die Funktion setTimeout() erstellt wird.
5. setInterval(cb, ms)
setInterval(cb, ms) Die globale Funktion führt die angegebene Funktion (cb) nach der angegebenen Anzahl von Millisekunden (ms) aus.
Gibt einen Handle-Wert zurück, der den Timer darstellt. Der Timer kann mit der Funktion „clearInterval(t)“ gelöscht werden.
Die Methode setInterval() ruft die Funktion weiterhin auf, bis clearInterval() aufgerufen oder das Fenster geschlossen wird.
6. Konsole
Die Methoden des Konsolenobjekts sind dieselben wie die herkömmlichen JS-Druckmethoden im Browser, die weggelassen werden.
7. Prozess
Es handelt sich um ein Objekt, das zur Beschreibung des aktuellen Node.js-Prozessstatus verwendet wird und eine einfache Schnittstelle zum Betriebssystem bereitstellt. Wenn Sie ein lokales Befehlszeilenprogramm schreiben, müssen Sie sich normalerweise damit befassen.
Ausfahrt
Wird ausgelöst, wenn der Prozess zum Beenden bereit ist.
beforeExit
Dieses Ereignis wird ausgelöst, wenn der Knoten die Ereignisschleife verlässt und keine anderen Vorkehrungen getroffen wurden. Normalerweise wird der Knoten beendet, wenn keine Prozesse geplant sind, aber der „beforeExit“-Listener kann asynchron aufgerufen werden, sodass der Knoten die Ausführung fortsetzt.
uncaughtException
Dieses Ereignis wird ausgelöst, wenn eine Ausnahme in die Ereignisschleife zurückkehrt. Wenn der Ausnahme ein Monitor hinzugefügt wird, wird die Standardaktion (Stack-Trace drucken und beenden) nicht ausgeführt.
Das Signalereignis wird ausgelöst, wenn ein Prozess ein Signal empfängt. Die Signalliste finden Sie in den Standard-POSIX-Signalnamen wie SIGINT, SIGUSR1 usw.