在 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);