node.js全局变量包括哪些?一文带你快速了解

Admin 2022-01-17 群英技术资讯 460 次浏览

    这篇文章我们来了解node.js全局变量的相关内容,全局变量是node.js学习中的基础知识,因此本文就给大家来介绍一下,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!

    本教程操作环境:windows7系统、nodejs 12.19.0版,DELL G3电脑。

    全局变量:

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

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

    __filename

    __filename 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。 如果在模块中,返回的值是模块文件的路径。

    实例

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

// 输出全局变量 
__filename 的值console.log( __filename );

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

$ node main.js
/web/com/runoob/nodejs/main.js

    __dirname

    __dirname 表示当前执行脚本所在的目录。

    实例

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

// 输出全局变量
__dirname 的值console.log( __dirname );

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

$ node main.js
/web/com/runoob/nodejs

    全局对象与全局变量:

    global 最根本的作用是作为全局变量的宿主。按照 ECMAScript 的定义,满足以下条 件的变量是全局变量:

    在最外层定义的变量;全局对象的属性;隐式定义的变量(未定义直接赋值的变量)。

    当你定义一个全局变量时,这个变量同时也会成为全局对象的属性,反之亦然。需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。

    准全局变量

    模块内部的局部变量,指向的对象根据模块不同而不同,但是所有模块都适用,可以看作是伪全局变量,主要为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之间的链接。但是,下面这样写是可以的。

    以上就是关于node.js全局变量的介绍,需要的朋友可以了解看看。希望大家阅读完这篇文章能有所收获,想要了解更多可以继续浏览群英网络其他相关的文章。

文本转载自PHP中文网


群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服