基本模塊
global
在前面的JavaScript課程中驮履,我們已經(jīng)知道,JavaScript有且僅有一個(gè)全局對(duì)象苗桂,在瀏覽器中,叫window對(duì)象告组。而在Node.js環(huán)境中煤伟,也有唯一的全局對(duì)象,但不叫window木缝,而叫g(shù)lobal便锨,這個(gè)對(duì)象的屬性和方法也和瀏覽器環(huán)境的window不同。進(jìn)入Node.js交互環(huán)境我碟,可以直接輸入:
> global.console
Console {
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] }
process
process也是Node.js提供的一個(gè)對(duì)象放案,它代表當(dāng)前Node.js進(jìn)程。通過(guò)process對(duì)象可以拿到許多有用信息:
> process === global.process;
true
> process.version;
'v5.2.0'
> process.platform;
'darwin'
> process.arch;
'x64'
> process.cwd(); //返回當(dāng)前工作目錄
'/Users/michael'
> process.chdir('/private/tmp'); // 切換當(dāng)前工作目錄
undefined
> process.cwd();
'/private/tmp'
(index4.js)
// process.nextTick()將在下一輪事件循環(huán)中調(diào)用:
process.nextTick(function(){
console.log(6666)
})
console.log(7777)
index4.png
判斷JavaScript執(zhí)行環(huán)境
有很多JavaScript代碼既能在瀏覽器中執(zhí)行矫俺,也能在Node環(huán)境執(zhí)行吱殉,但有些時(shí)候,程序本身需要判斷自己到底是在什么環(huán)境下執(zhí)行的厘托,常用的方式就是根據(jù)瀏覽器和Node環(huán)境提供的全局變量名稱來(lái)判斷:
if(typeof(window) === 'undefined'){
console.log('node.js')
console.log(typeof(window))
}else{
console.log('browser')
}
index4.png