Node.js:全局对象
Node.js 有许多内置的全局标识符。这些对象在所有模块中都可用。其中一些对象是真正的全局变量,可以从任何地方访问,其他对象存在于每个模块的模块级别。
全局
全局命名空间。对此命名空间设置属性使其在运行的进程中全局可见。
类型:对象
在浏览器中,顶级属性是全局范围。因此在浏览器中,var var_name 将定义一个全局变量。在 Node 中,模块内的 var var_name 是该模块的本地范围,即顶级范围不是全局范围。
console
该内置对象用于打印 stdout 和 stderr。该对象有多个方法,请参阅控制台部分的详细信息。
类型:对象
这是一个打印字符串的简单示例。
过程
进程对象是一个全局对象,它提供与当前 Node 进程的交互,并且可以从任何地方访问。
类型:对象
在以下示例中,只要进程即将退出,就会触发 exit 事件。
var fs = require('fs');
process.on('exit', function () {
var content = fs.readFileSync("readme.txt", "utf8");
});
类别: 缓冲器
Buffer 类是全局的。它直接处理二进制数据,并且可以通过多种方式构建。
类型 : 函数
在以下示例中,roll_no 包含数组的内容。查看输出。
require()
require() 函数是一个内置函数,用于包含存在于单独文件中的其他模块,一个指定要加载的模块的字符串。它接受一个参数。它不是全局的,而是每个模块的局部的。
类型 : 函数
在以下示例中包含“fs”(文件系统)模块。
var fs = require('fs');var content = fs.readFileSync("readme.txt", "utf8");
console.log(content);
console.log('Reading file...');
require.resolve()
require.resolve() 用于搜索模块的位置并返回解析的文件名。这是一个例子
第一个命令 require.resolve('fs') 仅显示 'fs',没有任何路径,因为它是 Node 附带的默认模块。第二个显示“mysql”模块的完整路径,该模块是第三方模块。
require.cache
模块被缓存(包含所有当前加载的模块)在此对象中。您可以通过从该对象中删除键值来清除该模块。您可以使用 require() 再次加载它。
类型:对象
filename
__filename 包含当前正在执行的文件的绝对路径。这在 Node REPL 中不存在。
类型:字符串
这是一个例子。
代码(test.js):
console.log(__filename);
输出 :
dirname
__dirname 包含当前正在执行的脚本的根目录的路径。这在 Node REPL 中不存在。
类型:字符串
这是一个例子。
代码(test.js):
console.log(__dirname);
输出 :
模块
对当前模块的引用。在特定程序中,模块通过 require() 变得可用。它不是全局的,而是每个模块的局部的。
类型:对象
在以下示例中,“fs”模块用于读取文件:
exports
对 module.exports 的引用,键入时间较短。导出实际上不是全局的,而是每个模块的本地的。
setTimeout
setTimeout() 在指定的毫秒数 (ms) 后调用函数 (cb)。超时必须在 1-2,147,483,647 范围内(含)。如果该值超出该范围,则会更改为 1 毫秒。这是一个例子:
setTimeout(function(){
console.log('I have come after 500 miliseconds')},500);
输出 :
clearTimeout(t)
clearTimeout() 用于取消使用 setTimeout() 设置的超时。回调将不会执行。
setInterval(cb, ms)
setinterval() 以指定的时间间隔(以毫秒 (ms) 为单位)重复调用函数 (cb)。间隔必须在 1-2,147,483,647 范围内(含)。如果该值超出该范围,则会更改为 1 毫秒。
注意:实际间隔可能会有所不同,具体取决于操作系统计时器粒度和系统负载等外部因素。它永远不会小于毫秒,但可能会更长。
在以下示例中,“Node.js”字符串将每 300 毫秒重复打印一次。
setInterval(function(){
console.log('Node.js')
}, 300);
输出 :
clearInterval(t)
clearInterval() 用于停止使用 setInterval() 设置的计时器。回调将不会执行。
注意:所有定时器函数都是全局变量。
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/530.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。