nodejs 全局变量和全局对象知识点及用法详解

 更新时间:2021年12月05日 09:54:46   作者:js初学者  
在本篇文章里小编给大家整理的是一篇关于nodejs 全局变量和全局对象知识点及用法等内容,对此有兴趣的朋友们可以学习参考下。

1、全局对象

所有模块都可以调用

1)global:表示Node所在的全局环境,类似于浏览器中的window对象。

2)process:指向Node内置的process模块,允许开发者与当前进程互动。

例如你在DOS或终端窗口直接输入node,就会进入NODE的命令行方式(REPL环境)。退出要退出的话,可以输入 process.exit();

3)console:指向Node内置的console模块,提供命令行环境中的标准输入、标准输出功能。

通常是写console.log(),无须多言

2、全局函数

1)定时器函数:共有4个,分别是setTimeout(), clearTimeout(), setInterval(), clearInterval()。
2)require:用于加载模块。

3、全局变量

1)_filename:指向当前运行的脚本文件名。

2)_dirname:指向当前运行的脚本所在的目录。

4、准全局变量

模块内部的局部变量,指向的对象根据模块不同而不同,但是所有模块都适用,可以看作是伪全局变量,主要为module, module.exports, exports等。

module变量指代当前模块。module.exports变量表示当前模块对外输出的接口,其他文件加载该模块,实际上就是读取module.exports变量。

  • module.id 模块的识别符,通常是模块的文件名。
  • module.filename 模块的文件名。
  • module.loaded 返回一个布尔值,表示模块是否已经完成加载。
  • module.parent 返回使用该模块的模块。
  • module.children 返回一个数组,表示该模块要用到的其他模块。

这里需要特别指出的是,exports变量实际上是一个指向module.exports对象的链接,等同在每个模块头部,有一行这样的命令。

var exports = module.exports;

这造成的结果是,在对外输出模块接口时,可以向exports对象添加方法,但是不能直接将exports变量指向一个函数:

exports.自定义模块 = function (x){ console.log(x);};

上面这样的写法是无效的,因为它切断了exports与module.exports之间的链接。但是,下面这样写是可以的。

知识点扩展:

JavaScript中有一个特殊的对象,叫全局对象.

在浏览器JS中,这个全局对象通常是Window对象

而在NodeJS中,这个全局对象的名字是global.

在NodeJS中,有三种定义全局变量的方法:

1> 在最外层定义的变量.

一般来讲,用户代码不会处于最外层.

只有一种情况可以:在解释器shell环境中.

2>将变量定义为global对象的属性

var global.x;

3>隐式定义的所有变量(未定义,直接赋值的变量)

这也是为啥不建议使用隐式定义,这样的变量被定义为全局变量会污染环境.

到此这篇关于nodejs 全局变量和全局对象知识点及用法详解的文章就介绍到这了,更多相关nodejs 全局变量和全局对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Node.js 实现简单小说爬虫实例

    Node.js 实现简单小说爬虫实例

    现在爬虫在很多web项目中都有应用,这篇文章主要介绍了Node.js 实现简单小说爬虫实例,有兴趣的可以了解一下。
    2016-11-11
  • nodejs中密码加密处理操作详解

    nodejs中密码加密处理操作详解

    这篇文章主要介绍了nodejs中密码加密处理操作,结合实例形式分析了nodejs针对用户登陆密码的加密处理操作相关实现技巧与注意事项,需要的朋友可以参考下
    2018-03-03
  • nodejs基础之buffer缓冲区用法分析

    nodejs基础之buffer缓冲区用法分析

    这篇文章主要介绍了nodejs基础之buffer缓冲区用法,结合实例形式分析了buffer缓冲区的概念、功能、创建、读写等相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • node.js中的fs.fsyncSync方法使用说明

    node.js中的fs.fsyncSync方法使用说明

    这篇文章主要介绍了node.js中的fs.fsyncSync方法使用说明,本文介绍了fs.fsyncSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js模块封装及使用方法

    Node.js模块封装及使用方法

    这篇文章主要为大家详细介绍了Node.js模块封装及使用方法,感兴趣的朋友可以参考一下
    2016-03-03
  • 深入理解Nodejs Global 模块

    深入理解Nodejs Global 模块

    本篇文章主要介绍了深入理解Nodejs Global 模块,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Node.js中的模块化,npm包管理器详解

    Node.js中的模块化,npm包管理器详解

    这篇文章主要介绍了node模块与npm包管理工具,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • 浅析node连接数据库(express+mysql)

    浅析node连接数据库(express+mysql)

    Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好
    2015-11-11
  • node.js express捕获全局异常的三种方法实例分析

    node.js express捕获全局异常的三种方法实例分析

    这篇文章主要介绍了node.js express捕获全局异常的三种方法,结合实例形式简单分析了node.js express捕获全局异常的常见操作方法与使用注意事项,需要的朋友可以参考下
    2019-12-12
  • npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法

    npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法

    这篇文章主要给大家介绍了关于npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法,文中通过图文将解决的方法介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论