美文网首页
【翻译】Node.js 教程 —— 全局对象

【翻译】Node.js 教程 —— 全局对象

作者: kyuan | 来源:发表于2018-11-14 23:24 被阅读10次

    今天来讲一下全局对象

    当我们写浏览器端 Javascript 时,全局对象是 window,我们可以访问全局属性或方法,如 alert scroll setTimeout 等等。

    而 Node.js 的全局对象不再是 window,因为已经不再是浏览器的环境。它的全局对象叫 global,跟 window 对象一样可以访问开箱即用的方法。

    Node.js 文档的 Global 页详细的列出我们可以使用的方法,如浏览器端 window 对象同样能使用的 setInterval setTimeout console,global 对象还增加了不少方法。

    下面让我们来试试:
    假设我们 D 盘下有一个 app.js 文件

    'D:\app.js'
    
    console.log('hello to node.js');
    

    在命令行进入文件所在路径( D 盘)并运行,即返回 hello to node.js

    node app
    
    'D:\app.js'
    // global 可加可不加,但在 node.js 加且只能加 global 而非 window
    global.setTimeout(function(){
        console.log('3 秒已经过去');
    }, 3000);
    

    命令行运行,过 3 秒后返回 3 秒已经过去

    node app
    

    在命令行运行,每隔 2 秒后返回 2 秒已经过去,停止进程可通过命令行输入ctlr+c 停止

    'D:\app.js'
    var time = 0;
    setInterval(function(){
        time +=2;
        console.log(time +' 秒已经过去');
    }, 2000);
    
    node app
    

    或者与浏览器 Javascript 相同, clearInterval 清除定时器

    'D:\app.js'
    var time = 0;
    var timer = setInterval(function(){
        if(time > 5){
            clearInterval(timer); // 5 秒后停止
        }
        console.log(time +' 秒已经过去');
    }, 2000);
    

    几样更酷的,Node.js 可以告诉我们当前目录和文件

    • 全局变量下的 __dirname
    console.log(__dirname); // 输出当前文件所在路径
    
    • 全局变量下的 __filename
    console.log(__filename); // 输出当前文件路径,包含文件名
    

    全局对象还有更多 API,之后的课程会继续覆盖,那,下节课见。

    相关文章

      网友评论

          本文标题:【翻译】Node.js 教程 —— 全局对象

          本文链接:https://www.haomeiwen.com/subject/lvnkfqtx.html