Javascript 为什么这个对象声明在node.js中工作,以及如何声明静态变量?
我看到了这个代码:Javascript 为什么这个对象声明在node.js中工作,以及如何声明静态变量?,javascript,node.js,Javascript,Node.js,我看到了这个代码: var myNet = require ("net"); 在某些功能上: function foo (x,y) { var myNewNet = new myNet(); myNewNet.createServer(x,y); } 为什么上面的代码会创建一个新对象?背后的机制是什么 还有一个问题,如何在node.js中创建静态变量,例如必须唯一的id号 我为静态变量提供了此选项: var id =0; 把它放在全局范围内,可以吗?requi
var myNet = require ("net");
在某些功能上:
function foo (x,y) {
var myNewNet = new myNet();
myNewNet.createServer(x,y);
}
为什么上面的代码会创建一个新对象?背后的机制是什么
还有一个问题,如何在node.js中创建静态变量,例如必须唯一的id号
我为静态变量提供了此选项:
var id =0;
把它放在全局范围内,可以吗?require语句基本上就像一个导入;它接受一个外部库,并使其在代码中可用 如果查看外部模块,您会注意到它只是普通的node.js代码。它有
EXPORT
语句。当你需要一些东西时,这些陈述是可以得到的。退房
node.js中有一个GLOBAL
关键字,您可以使用它使某些内容成为全局的
GLOBAL.IP\u ADDRESS=“…”
正如@Raynos所说,这样做通常不是一个好主意,所以另一个选项是从模块导出一个常量,这样您就可以创建一个模块并执行以下操作
exports.STATIC_CONSTANT=”“代码>
一旦你导入了模块,你就可以
var mod = require('mymodule');
mod.STATIC_CONSTANT;
编辑该行,以回答您的评论
var myNet=require(“net”)
使myNet
成为net
模块导出的内容。它必须导出一个函数,所以
var newNet=newmynet()
创建网络对象的新实例。从那里
myNewNet.createServer()
只是在刚刚创建的对象上调用一个方法。谢谢,但是为什么语法是:var required=require(“someModule”);var newVar=newrequired();是好的,为什么它会起作用?地球人是邪恶的。不要在节点中使用全局变量