在 Node.js 世界中的写 JavaScript 与浏览器中写 JavaScript 是完全不同的体验。Node.js 除了提供浏览器中的基础语言的基础上,还新增了许多用来构建网络应用的 Api。
GLOBAl 对象
- global:和 window 一样,任何在global 对象上的属性,都可以被全局访问。
- process:所有全局执行的上下文的内容都在 process 对象里面。在浏览器中只有一个 window 对象,Node 中也只有一个 global 对象。举个栗子来说,在浏览器中获取浏览器的窗口名字 => window.name,而在 Node 中获取进程名字 => process.title。
实用的全局对象
在浏览器中,有很多函数和工具,虽然并非是语言标准的一部分,但是因其实用性、便利性已被人们看做成JavaScript 中的一部分。他们都是以全局的方式暴露出来的。可以举个栗子 :console ,众所周知,console 是 Firefox 中的辅助开发插件FireBug 实现的,后面也被浏览器作为重要的特性来实现的。不过Node.js 为了让 js 应用效率更高效,就把他们也引入进来了。某些 Api 特性也被 Node.js 借鉴:列如 setImmediate 它与 Node 中的 process.nextTick 的作用相同。
console.log(1);
process.nextTick(function() {
console.log(3);
});
console.log(2);