在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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()。 3、全局变量1)_filename:指向当前运行的脚本文件名。 2)_dirname:指向当前运行的脚本所在的目录。 4、准全局变量模块内部的局部变量,指向的对象根据模块不同而不同,但是所有模块都适用,可以看作是伪全局变量,主要为module, module.exports, exports等。 module变量指代当前模块。module.exports变量表示当前模块对外输出的接口,其他文件加载该模块,实际上就是读取module.exports变量。
这里需要特别指出的是,exports变量实际上是一个指向module.exports对象的链接,等同在每个模块头部,有一行这样的命令。
这造成的结果是,在对外输出模块接口时,可以向exports对象添加方法,但是不能直接将exports变量指向一个函数:
上面这样的写法是无效的,因为它切断了exports与module.exports之间的链接。但是,下面这样写是可以的。 知识点扩展: JavaScript中有一个特殊的对象,叫全局对象. 在浏览器JS中,这个全局对象通常是Window对象 而在NodeJS中,这个全局对象的名字是global. 在NodeJS中,有三种定义全局变量的方法: 1> 在最外层定义的变量. 一般来讲,用户代码不会处于最外层. 只有一种情况可以:在解释器shell环境中. 2>将变量定义为global对象的属性 var global.x; 3>隐式定义的所有变量(未定义,直接赋值的变量) 这也是为啥不建议使用隐式定义,这样的变量被定义为全局变量会污染环境. 到此这篇关于nodejs 全局变量和全局对象知识点及用法详解的文章就介绍到这了,更多相关nodejs 全局变量和全局对象内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论