nodejs 中的全局变量

Globals in nodejs

本文关键字:全局变量 nodejs      更新时间:2023-09-26

我见过当有人在PHP中使用全局变量时,人们会吓坏了。

它们在 nodejs 中同样糟糕吗?

下面是一个示例:

function my_app(){
    // ....
}    
my_app.prototype = {
  method_1: function(){
      // .......
  }
}
var my = my_app();

所以my现在是全球性的。我可以在下面定义的其他类中使用它,而无需将其传递给构造函数。我什至不确定它在 javascript 中是否被称为构造函数:|

但这对我来说似乎是很自然的。这基本上与 ppl 从函数内部定义的函数访问外部变量的方式相同,对吧?

在 PHP 中,这看起来像:

<?php
class my_app{
..............
}
$my = new my_app();

在这里,$my必须使用 global 关键字声明才能在函数或类中可用,但除此之外,它是一回事

您的变量在 node.js 中不是全局的,它仅对该模块是全局的。如果要使其对所有模块进行全局处理,请将其放在全局命名空间中。

global.my = 'this one is truly global';

你应该明确避免全局变量,就像在任何其他编程语言中一样。