我见过当有人在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';
你应该明确避免全局变量,就像在任何其他编程语言中一样。