private $varone;
public $varone;
节点中的var varone;
与php上的private $varone;
相同吗?
答案 0 :(得分:0)
首先,Javascript没有变量的private
和public
修饰符。您通常会通过定义或将它们分配到适当的范围来控制对变量的访问,其中只有该范围内的代码才能访问它们。
Node.js编程通常使用模块完成。每个模块都有自己的范围,因此模块中定义的任何变量只能用于该模块中的代码。
要与其他模块共享内容,通常会export
变量或函数或方法,以便导入模块的任何人都可以访问它。或者(尽管这很少是最好的处理方式),您可以将变量指定为global
对象上的属性,然后该node.js进程中的所有代码都可以通过global
对象访问它。
因此,典型的node.js模块可能如下所示:
// mymodule.js
function doSomething(a, b) {
return a + b;
}
let total = 0;
function doSomethingElse(c, d) {
total += c * d;
}
// other code here that calls doSomethingElse()
module.exports = doSomething;
因此,在此模块中,默认情况下,所有变量和函数都是模块的私有。因此,doSomethingElse
和total
是模块专用的。函数doSomething
是专门导出的,因此任何加载模块的人都可以访问该函数。
var doIt = require('./mymodule.js');
console.log(doIt(3, 4)); // 7
在模块中,您还可以创建自己的函数,这些函数可以创建子范围,以进一步限制模块内的访问权限。