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