node学习笔记(四):global|process进程|nextTick和setImmediate

1、module.exports和exports的区别

言而总之,总而言之是一个东西

const exports = module.exports。(node在加载的时候默认执行这一句)

对外暴露只能是module.exports。

就是一个指向,但是如果指向改变,就不代表module.exports向外暴露接口的意思了。

2、global对象

CommonJS

Buffer(二进制的处理)、process(进程)、console

timer(setTimer)

想要定义一个全局变量就用global.变量名

3、process进程

(1) 参数相关

// 参数相关:nodejs启动时看启动参数,大括号里的是process的子对象
const {argv, argv0, execArgv, execPath} = process;
// argv:在启动process的所有参数 - 这个是最重要的
argv.forEach(item => {
    console.log(item);
    /**
     * 输出内容
     * D:\worksoft\nodejs\node.exe(node安装的路径)
     * F:\my_workspace\node_study\04_process.js(当前执行文件的路径)
     * >node 04_process.js a=2(这样启动)
     * 会输出: D:\worksoft\nodejs\node.exe
     *          F:\my_workspace\node_study\04_process.js
     *          a=2
     */
});
/**
 * 输出结果:老师说这个不是经常使用的, node
 */
console.log("老师说这个不是经常使用的,",argv0);
/**
 * 这个好像也不是很重要,是在node 和文件名的中间输入一个东西,没有特别理解
 * 我去百度了一下:
 * 与 process.argv 类似,不过是用于返回 node特殊(node-specific) 的命令行选项(参数)。另外所有文件名之后的参数都会被忽视
 */
console.log(execArgv);
/**
 * 这个就是argv打印出来的第一行
 */
console.log(execPath);

 (2)环境(会输出一堆环境相关的信息)

const {env} = process;
console.log(env);

(3)cwd(与linux的pwd功能一样滴)

console.log(process.cwd());

4、process.nextTick和setImmediate

setImmediate(() => {
    console.log("setImmediate");
});

process.nextTick(() => {
    console.log("nextTick");
});

setTimeout(() => {
    console.log("setTimeout");
},0);

执行结果: 

nextTick
setTimeout
setImmediate

 nextTick:放在当前队列的最后一个位置(vue里面也有一个,是dom加载完成执行)

setImmediate:放在下个队列的队首

setTimeout:在nextTick和setImmediate中间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值