ノードのグローバル オブジェクトは「グローバル」です。グローバルの最も基本的な役割は、グローバル変数のホストとして機能することであり、すべてのグローバル変数 (グローバル自体を除く) はグローバル オブジェクトの属性です。グローバル プロパティには、アプリケーションに含めなくても、Node.js で直接アクセスできます。
このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 16、DELL G3 コンピューター。
JavaScript には、グローバル オブジェクトと呼ばれる特別なオブジェクトがあり、このオブジェクトとそのすべてのプロパティには、プログラム内のどこからでもアクセスできます。つまり、グローバル変数です。
ブラウザー JavaScript では、通常 window がグローバル オブジェクトですが、 Node.js のグローバル オブジェクトは global であり、すべてのグローバル変数 (グローバル自体を除く) はグローバル オブジェクトのプロパティです。
Node.js では、グローバル プロパティをアプリケーションに含めずに直接アクセスできます。
グローバル オブジェクトとグローバル変数
global の最も基本的な役割は、グローバル変数のホストとして機能することです。 ECMAScript の定義によれば、
最外部レベルで定義された変数、
暗黙的に定義された変数 (直接代入が定義されていない変数)
の条件を満たす
グローバル変数を定義すると、その変数はグローバル オブジェクトのプロパティにもなり、その逆も同様です。 Node.js では、すべてのユーザー コードが現在のモジュールに属し、モジュール自体は最も外側のコンテキストではないため、最も外側のレベルで変数を定義できないことに注意してください。
注: グローバル変数の導入を避けるために、変数の定義に var を使用しないことをお勧めします。グローバル変数は名前空間を汚染し、コード結合のリスクを高めるためです。
1. __filename は、
次の内容を含む新しい global.js を作成します:
console.log( __filename );
次のように実行します:
node global.js __filename=/root/node_test/global.js
2. __dirname は
、次の内容:
console.log( __dirname);
は次のように実行されます:
node dirname.js /root/node_test
3. setTimeout(cb, ms)
setTimeout(cb, ms) グローバル関数は、指定された回数の後に指定された関数 (cb) を実行します。ミリ秒(ms)。 :setTimeout() は、指定された関数を 1 回だけ実行します。
タイマーを表すハンドル値を返します。
4. clearTimeout(t)
clearTimeout(t) グローバル関数は、setTimeout() によって以前に作成されたタイマーを停止するために使用されます。 パラメータ t は、setTimeout() 関数によって作成されたタイマーです。
5. setInterval(cb, ms)
setInterval(cb, ms) グローバル関数は、指定されたミリ秒数 (ms) 後に指定された関数 (cb) を実行します。
タイマーを表すハンドル値を返します。タイマーは、clearInterval(t) 関数を使用してクリアできます。
setInterval() メソッドは、clearInterval() が呼び出されるかウィンドウが閉じられるまで、関数を呼び出し続けます。
6. コンソール
console オブジェクトのメソッドは、ブラウザでの従来の js 印刷メソッドと同じであり、省略されています。
7. プロセス
現在の Node.js プロセスのステータスを記述するために使用されるオブジェクトであり、オペレーティング システムとの単純なインターフェイスを提供します。通常、ローカル コマンド ライン プログラムを作成する場合は、それに対処する必要があります。
出口
プロセスが終了する準備ができたときに発生します。
終了前
このイベントは、ノードがイベント ループをクリアし、他の取り決めがないときにトリガーされます。通常、プロセスがスケジュールされていない場合、ノードは終了しますが、「beforeExit」リスナーを非同期で呼び出すことができるため、ノードは実行を継続できます。
キャッチされない例外
このイベントは、例外がイベント ループにバブルバックしたときにトリガーされます。モニターが例外に追加された場合、デフォルトのアクション (スタック トレースを出力して終了) は発生しません。
Signal イベントは、プロセスがシグナルを受信するとトリガーされます。シグナルのリストについては、SIGINT、SIGUSR1 などの標準 POSIX シグナル名を参照してください。