0.global
JavaScript有且仅有一个全局对象,在浏览器中,叫window对象。而在Node.js环境中,也有唯一的全局对象,但不叫window,而叫global,这个对象的属性和方法也和浏览器环境的window不同。进入Node.js交互环境,可以直接输入:
> global.consoleConsole {
log: [Function: bound ],
info: [Function: bound ],
warn: [Function: bound ],
error: [Function: bound ],
dir: [Function: bound ],
time: [Function: bound ],
timeEnd: [Function: bound ],
trace: [Function: bound trace],
assert: [Function: bound ],
Console: [Function: Console] }
1.process
process也是Node.js提供的一个对象,它代表当前Node.js进程。通过process对象可以拿到许多有用信息:
>process.version
‘v8.7.0’
>process.cwd();
‘H:\\yuanjiaCN.github.io\\nodeTest’
process.nextTick()
如果想要在下一次事件响应中执行代码,可以调用process.nextTick():
process.nextTick(function () {
console.log("第二句");
});
console.log("第一句");
这说明传入process.nextTick()的函数不是立刻执行,而是要等到下一次事件循环。
2.判断JavaScript执行环境
有很多JavaScript代码既能在浏览器中执行,也能在Node环境执行,但有些时候,程序本身需要判断自己到底是在什么环境下执行的,常用的方式就是根据浏览器和Node环境提供的全局变量名称来判断:
if(typeof (window) ===
console.log("node.js");
} else
console.log("browser");
};