nodejs中的全局变量

时间:2015-01-26 01:38:58

标签: javascript node.js variables global-variables

我发现当有人在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关键字声明才能在函数或类中使用,但除此之外它是相同的东西

1 个答案:

答案 0 :(得分:2)

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

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

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