nodejs 中的全局变量
Globals in nodejs
我看到有人在 PHP.
中使用全局变量时吓坏了
它们在 nodejs 中是否同样糟糕?
这是一个例子:
function my_app(){
// ....
}
my_app.prototype = {
method_1: function(){
// .......
}
}
var my = my_app();
所以 my
现在是全球性的。我可以在下面定义的其他 类 中使用它,而不必将它传递给构造函数。我什至不确定它在 javascript 中被称为构造函数:|
但这对我来说似乎很自然。这与人们从函数内部定义的函数访问外部变量的方式基本相同,对吧?
在 PHP 中看起来像:
<?php
class my_app{
..............
}
$my = new my_app();
这里 $my 必须用全局关键字声明才能在函数或 类 中使用,但除此之外是一样的
您的变量在 node.js 中不是全局的,它只对那个模块是全局的。如果你想让它对所有模块都是全局的,把它放在全局命名空间中。
global.my = 'this one is truly global';
你应该明确地避免使用全局变量,就像在任何其他编程语言中一样。
我看到有人在 PHP.
中使用全局变量时吓坏了它们在 nodejs 中是否同样糟糕?
这是一个例子:
function my_app(){
// ....
}
my_app.prototype = {
method_1: function(){
// .......
}
}
var my = my_app();
所以 my
现在是全球性的。我可以在下面定义的其他 类 中使用它,而不必将它传递给构造函数。我什至不确定它在 javascript 中被称为构造函数:|
但这对我来说似乎很自然。这与人们从函数内部定义的函数访问外部变量的方式基本相同,对吧?
在 PHP 中看起来像:
<?php
class my_app{
..............
}
$my = new my_app();
这里 $my 必须用全局关键字声明才能在函数或 类 中使用,但除此之外是一样的
您的变量在 node.js 中不是全局的,它只对那个模块是全局的。如果你想让它对所有模块都是全局的,把它放在全局命名空间中。
global.my = 'this one is truly global';
你应该明确地避免使用全局变量,就像在任何其他编程语言中一样。