2 基本模塊
在node中有且僅有一個(gè)全局變量和瀏覽器的全局變量的區(qū)別的是
瀏覽器的全局變量是==window==而node的全局變量是==global==
global.console;
process
JavaScript程序是由事件驅(qū)動(dòng)執(zhí)行的單線程模型,Node.js也不例外。Node.js不斷執(zhí)行響應(yīng)事件的JavaScript函數(shù),直到?jīng)]有任何響應(yīng)事件的函數(shù)可以執(zhí)行時(shí),Node.js就退出了。
如果我們想要在下一次事件響應(yīng)中執(zhí)行代碼,可以調(diào)用process.nextTick():
// test.js
// process.nextTick()將在下一輪事件循環(huán)中調(diào)用:
process.nextTick(function () {
console.log('nextTick callback!');
});
console.log('nextTick was set!');
用Node執(zhí)行上面的代碼node test.js,你會(huì)看到,打印輸出是:
nextTick was set!
nextTick callback!
這說明傳入process.nextTick()的函數(shù)不是立刻執(zhí)行,而是要等到下一次事件循環(huán)。
Node.js進(jìn)程本身的事件就由process對(duì)象來處理。如果我們響應(yīng)exit事件,就可以在程序即將退出時(shí)執(zhí)行某個(gè)回調(diào)函數(shù):
// 程序即將退出時(shí)的回調(diào)函數(shù):
process.on('exit', function (code) {
console.log('about to exit with code: ' + code);
});