node.js全局变量(Global Objects)

博客搬家:由于各种原因,我现在的博客将首发于blog.mojijs.com, 可以百度搜索 “姜哥的墨迹技术博客” , 或者 点击这里 本文地址 http://blog.mojijs.com/post/9.html

有一些对象是在所有模块中都可以使用的(在未导入模块的情况下),实际上他们一部分是全局全局对象,另一部分并不在全局作用域。


分别如下:
1、global:object, 全局命名空间
在浏览器中最顶层作用域是全局作用域,也就是说如果在全局作用域执行var something将定义一个全局变量。在node中和在浏览器中不同的是最顶层作用域不是全局作用域,var something在node中将声明一个当前模块的局部变量(如果不是用var关键字可能会声明为global的属性,要谨慎对待)。

2、process:object, 进程信息和进程操作对象(全局)
如process.argv获取命令行参数;process.exit(0);进程退出;

3、console:object, 打印标准输出和标准错误输出(全局)
同chromeconsole

4、Buffer:class, 处理二进制数据(全局)

5、require:function, 加载模块(局部,每个模块有自己的require)
require的属性:
1)resolve:function, 计算模块的带路径文件名(绝对路径),不加载模块。
2)cache:object, 模块加载后被缓存起来,若想强制重新加载模块则删除cache中的相应模块。
3)extensions:指示node如何解析指定扩展名的文件
举例:
delete require.cache[require.resolve("jsutil")];
require.extensions['.t1234567'] = require.extensions['.js'];

6、__filename:string, 当前模块的带路径文件名(绝对路径) (局部变量)

7、__dirname:string, 当前模块所在路径(绝对路径) (局部变量)

8、module:object, 当前模块的引用,module.exports与exports指向相同的对象 (局部变量)

9、exports:object, 一个当前模块各实例间共享的对象,可以使用require获取。 (局部变量)

剩下的四个就没意思了,分别如下:
setTimeout、clearTimeout、setInterval、clearInterval
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值