node全局成员笔记

module作用域

__filename

node.js中,在任何模块文件内部,可以使用__filename变量获取当前模块文件的带有完整绝对路径的文件名。

console.log(__filename)

结果如图
总结:包含文件名称的全路径。当前模块的文件名(处理后的绝对路径)。不一定与命令行中使用的名称一致。此变量虽然看似全局的,但实际上不是。

__dirname

当前模块的目录名

console.log(__dirname)

__dirname
总结:不包含文件名称,此变量虽然看似全局的,但实际上不是。

timer(定时器)

timer 模块暴露了一个全局的 API,用于在某个未来时间段调用调度函数。 因为定时器函数是全局的,所以使用该 API 无需调用 require(‘timers’)。

var timer = setInterval(function(){
    console.log(123);
},1000)
setTimeout(function(){
    clearTimeout(timer);
},2000)

global

在浏览器中,顶层作用域是全局作用域。 这意味着在浏览器中 var something 将定义一个新的全局变量。 在 Node.js 中,这是不同的。 顶层作用域不是全局作用域,Node.js 模块中的 var something 的作用域只在该模块内。

global.console.log(1234)

总结:在Node.js中没有window对象,但是有一个类似的对象global,访问全局成员的时候可以省略global

process进程

process 对象是一个全局变量,提供 Node.js 进程的有关信息以及控制进程。 因为是全局变量,所以无需使用 require()

// argv是一个数组,默认情况下,前两项数据分别是:Node.js环境的路径;当前执行的js文件的全路径
console.log(process.argv)
// 打印当前系统的架构(64位或者32位)
console.log(process.arch)

结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值