ホームページ >ウェブフロントエンド >jsチュートリアル >Nodejsのグローバル変数とは何ですか?

Nodejsのグローバル変数とは何ですか?

青灯夜游
青灯夜游オリジナル
2021-11-23 15:09:143629ブラウズ

nodejs には 2 つのグローバル変数があります: 1. 現在実行中のスクリプトのファイル名を表し、ファイルの場所の絶対パスを出力できる「__filename」、2. 「__dirname」現在の実行を表すスクリプトが配置されているディレクトリ。

Nodejsのグローバル変数とは何ですか?

#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。

グローバル変数:

1) _filename: 現在実行中のスクリプト ファイルの名前を指します。

2) _dirname: 現在実行中のスクリプトが配置されているディレクトリを指します。

__filename

__filename は、現在実行中のスクリプトのファイル名を表します。ファイルの場所の絶対パスが出力されますが、コマンド ライン パラメーターで指定したファイル名と同じでない場合があります。モジュール内の場合、戻り値はモジュール ファイルへのパスです。

ファイル main.js を作成します。コードは次のとおりです。

// 输出全局变量 
__filename 的值console.log( __filename );

main.js ファイルを実行します。コードは次のとおりです。

$ node main.js
/web/com/runoob/nodejs/main.js

__dirname

__dirname は、現在実行中のスクリプトが配置されているディレクトリを示します。

ファイル main.js を作成します。コードは次のとおりです。

// 输出全局变量
__dirname 的值console.log( __dirname );

main.js ファイルを実行します。コードは次のとおりです。

$ node main.js
/web/com/runoob/nodejs

グローバル オブジェクトとグローバル変数:

グローバルの最も基本的な役割は、グローバル変数のホストとして機能することです。 ECMAScript の定義によれば、次の条件を満たす変数がグローバル変数です:

最外層で定義された変数、グローバル オブジェクトの属性、暗黙的に定義された変数 (値が直接割り当てられていない変数)。

グローバル変数を定義すると、その変数はグローバル オブジェクトのプロパティにもなり、その逆も同様です。 Node.js では、すべてのユーザー コードが現在のモジュールに属し、モジュール自体は最も外側のコンテキストではないため、最も外側のレベルで変数を定義できないことに注意してください。

準グローバル変数

モジュール内のローカル変数。それらが指すオブジェクトはモジュールによって異なりますが、すべてのモジュールに適用可能であり、すべてのモジュールとみなすことができます。疑似グローバル変数として。主に module、module.exports、exports など。

モジュール変数は現在のモジュールを参照します。 module.exports 変数は、現在のモジュールの外部出力インターフェイスを表し、他のファイルがモジュールをロードするときに、実際には module.exports 変数を読み取ります。

  • module.id モジュールの識別子。通常はモジュールのファイル名です。

  • module.filename モジュールのファイル名。

  • module.loaded は、モジュールの読み込みが完了したかどうかを示すブール値を返します。

  • module.parent このモジュールを使用するモジュールを返します。

  • module.children は、このモジュールで使用される他のモジュールを表す配列を返します。

ここで指摘する必要があるのは、exports 変数は実際には module.exports オブジェクトへのリンクであり、各コマンドの先頭にあるこのようなコマンドの行に相当するということです。モジュール。

var exports = module.exports;

この結果、モジュール インターフェイスを外部にエクスポートするときに、exports オブジェクトにメソッドを追加できますが、exports 変数を関数に直接指定することはできません:

exports.自定义模块 = function (x){ console.log(x);};

上記の書き方はexportsとmodule.exportsのリンクが切れているため無効です。ただし、このように書いても大丈夫です。

ノード関連の知識の詳細については、

nodejs チュートリアル を参照してください。 !

以上がNodejsのグローバル変数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。