×

了解下node中的全局函数

作者:andy0012020.05.26来源:Web前端之家浏览:8714评论:0
关键词:nodejs全局函数

了解下node中的全局函数。在浏览器JavaScript中,通常window是全局对象, 而Node.js中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。在 Node.js 我们可以直接访问到 global 的属性,而不需要在应用中包含它。

node中提供的全局函数有哪些?

  1. 定时器函数:共有4个,分别是setTimeout(), clearTimeout(), setInterval(), clearInterval()。

  2. require:用于加载模块。

setTimeout(cb, ms)

setTimeout(cb, ms)全局函数在指定的毫秒(ms)数后执行指定函数(cb)。:setTimeout() 只执行一次指定函数。返回一个代表定时器的句柄值。

实例

创建文件 main.js ,代码如下所示:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
setTimeout(printHello, 2000);

执行 main.js 文件,代码如下所示:

$ node main.js
Hello, World!

clearTimeout(t)

clearTimeout( t )全局函数用于停止一个之前通过 setTimeout() 创建的定时器。 参数 t 是通过 setTimeout() 函数创建的定时器。

实例

创建文件 main.js ,代码如下所示:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
var t = setTimeout(printHello, 2000);

// 清除定时器
clearTimeout(t);

执行 main.js 文件,代码如下所示:
$ node main.js

setInterval(cb, ms)

setInterval(cb, ms)全局函数在指定的毫秒(ms)数后执行指定函数(cb)。返回一个代表定时器的句柄值。可以使用 clearInterval(t) 函数来清除定时器。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。

实例

创建文件 main.js ,代码如下所示:

function printHello(){
   console.log( "Hello, World!");
}
// 两秒后执行以上函数
setInterval(printHello, 2000);

执行 main.js 文件,代码如下所示:

$ node main.js

以上程序每隔两秒就会输出一次"Hello, World!",且会永久执行下去,直到你按下 ctrl + c 按钮。

require函数

参数为完整路径的模块文件名,或直接是模块名

require.main:用于检测一个模块是否为应用程序中的主模块(写在被检测的模块文件内部)

if(module === require.main){
    console.log('true')
}

对于相同模块的多次引用不会引起模块内代码的多次执行

require.resolve:查询某个模块文件的带有完整绝对路径的文件名。不过并不会加载该模块

require.resolve('./testModule.js')

require.cache对象:代表缓存了所有已被加载模块的缓存区

console.log(require.cache)

可以通过争名来访问某个模块

require.cache['模块文件名']

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/node20200226a2.html

网友评论文明上网理性发言 已有0人参与

发表评论: