在前面的JavaScript课程中,我们已经知道,JavaScript有且仅有一个全局对象,在浏览器中,叫对象。而在Node.js环境中,也有唯一的全局对象,但不叫window,而叫global,这个对象的属性和方法也和浏览器环境的window不同。进入Node.js交互环境,可以直接输入:

    process也是Node.js提供的一个对象,它代表当前Node.js进程。通过process对象可以拿到许多有用信息:

    1. > process === global.process;
    2. true
    3. > process.version;
    4. 'darwin'
    5. > process.arch;
    6. 'x64'
    7. > process.cwd(); //返回当前工作目录
    8. '/Users/michael'
    9. > process.chdir('/private/tmp'); // 切换当前工作目录
    10. undefined
    11. '/private/tmp'

    JavaScript程序是由事件驱动执行的单线程模型,Node.js也不例外。Node.js不断执行响应事件的JavaScript函数,直到没有任何响应事件的函数可以执行时,Node.js就退出了。

    用Node执行上面的代码node test.js,你会看到,打印输出是:

    1. nextTick was set!
    2. nextTick callback!

    这说明传入process.nextTick()的函数不是立刻执行,而是要等到下一次事件循环。

    Node.js进程本身的事件就由process对象来处理。如果我们响应exit事件,就可以在程序即将退出时执行某个回调函数:

    1. if (typeof(window) === 'undefined') {
    2. console.log('node.js');
    3. } else {
    4. }

    后面,我们将介绍Node.js的常用内置模块。

    基本模块 - 图2