如何在node.js上创建私有变量和公共变量

时间:2017-05-11 21:04:44

标签: node.js

在php上我可以在node.js上编写类似变量的变量如何设置变量类型

private $varone;


public $varone;

节点中的var varone;与php上的private $varone;相同吗?

1 个答案:

答案 0 :(得分:0)

首先,Javascript没有变量的privatepublic修饰符。您通常会通过定义或将它们分配到适当的范围来控制对变量的访问,其中只有该范围内的代码才能访问它们。

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;

因此,在此模块中,默认情况下,所有变量和函数都是模块的私有。因此,doSomethingElsetotal是模块专用的。函数doSomething是专门导出的,因此任何加载模块的人都可以访问该函数。

var doIt = require('./mymodule.js');

console.log(doIt(3, 4));    // 7

在模块中,您还可以创建自己的函数,这些函数可以创建子范围,以进一步限制模块内的访问权限。