📜  Node.js 中变量前面的双下划线 (__) 是什么?

📅  最后修改于: 2022-05-13 01:56:25.476000             🧑  作者: Mango

Node.js 中变量前面的双下划线 (__) 是什么?

在本文中,我们将了解 Node.js 中变量前面的双下划线 (__) 是什么意思。

由于NodeJS的单线程特性,它主要用于非阻塞、事件驱动的服务器。它用于传统网站和后端 API 服务,但在设计时考虑了实时、基于推送的架构。

先决条件:您可以从这里学习如何安装 Nodejs。

变量前面的双下划线 (__)是一种约定。它用于 Nodejs 中的全局变量(以下变量可能看起来是全局的,但不是每个模块的局部变量),同时 Underscore (_)用于定义私有变量

Node.js 中只有两个带双下划线的变量(称为全局对象)。 js。

  • __dirname:节点脚本中的 __dirname 返回当前 JavaScript 文件所在文件夹的路径。
  • __filename: Node.js 中的 __filename 返回所执行代码的文件名。它给出了代码文件名的绝对路径。

1. 下划线(_)——私有变量

下面是私有变量的示例。

Javascript
(function() {
    
    // Define two variable
    var _b = 456;
    var _a = 123;
    console.log("a =",_a); // => 123
    console.log("b =",_b);
})();


app.js
// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Directory Name of the current file is: ",
    __dirname);


Javascript
// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Filename of the current file is: ",
    __filename);


输出:

a = 123
b = 456

2. 双下划线 (__) – 全局变量。

下面是两个变量的示例

__dirname是一个环境变量,它告诉您包含当前执行文件的目录的绝对路径。

句法:

console.log(__dirname)

返回值:返回当前模块的绝对目录名。

示例 1:创建一个 JavaScript 文件 app.js 并记下以下代码。

应用程序.js

// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Directory Name of the current file is: ",
    __dirname);

输出:

C:\Users\Pallavi\Desktop\NODEJS PROJECTS\NodeJS-Projects\Express_Session

Node.js 中的__filename返回所执行代码的文件名。它给出了代码文件的绝对路径。以下方法介绍了如何在 NodeJS 项目中实现 __filename。

句法:

console.log(__filename)

返回值:返回当前模块的绝对文件名。

示例 2:创建一个 JavaScript 文件 app.js 并记下以下代码。

Javascript

// Node.js code to demonstrate the absolute
// file name of the current Module.
console.log("Filename of the current file is: ",
    __filename);

输出:

C:\Users\Pallavi\Desktop\NODEJS PROJECTS\NodeJS-Projects\Express_Session\app.js

参考: https://nodejs.org/api/globals.html#globals_filename