• Node学习(一)-全局变量——global是node中最大的一个对象-可省略 & dirname-目录的绝对路径 & filename-文件的绝对路径


    Node学习(一)-全局变量——global是node中最大的一个对象-可省略 & __dirname-目录的绝对路径 & __filename-文件的绝对路径

    2. Node学习

    2.1 前言

    前面介绍了node也提供了一种JS的执行环境,确切的说是ECMAScript的执行环境。

    node不但可以执行我们学习过的ECMAScript,node还自带了很多全局对象和很多模块。

    在这里插入图片描述

    2.2 全局变量

    说明:

    • node中有一个全局变量global,是node中最大的一个对象,相当于浏览器中的window对象。
    • global中的成员在使用时,可以省略global,这点也类似浏览器中的window

    下面介绍几个全局对象global中的成员:

    • console,我们在初体验时,使用了console,它可不是浏览器中的console对象,使用的是node中的console
    • process,和进程相关的对象
    • setInterval,同理,也是node中的,不是浏览器中的
    • require(),它是全局对象global中的一个方法,用于在js文件中引入另外的文件
      • require() 方法可以在js文件中加载另外的js文件(模块)
      • require() 方法可以在js文件中加载json文件
    • __dirname,当前执行文件的绝对路径(在js文件中使用)
    • __filename,当前执行文件的绝对路径,包含文件名(在js文件中使用)

    示例

    查看全局变量.js

    // global是node中,最大的一个对象,其他所有内容都是这个对象的成员
    // console.log(global);
    
    
    // 调用global的成员
    global.console.log(123);
    
    // 可以省略global
    console.log(456);
    
    // __dirname 表示当前正在执行的js文件所在的目录,是一个绝对路径
    console.log(__dirname);
    
    // __filename 表示当前正在执行的js文件的路径,是一个绝对路径
    console.log(__filename);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    注:打开node终端进行上述验证即可

    实例

    上述成员使用下面的代码进行演示:

    02-require.js

    // require() 它是global对象的成员,该方法可以加载其他的js文件,也能够加载其他的json文件
    
    // require() 加载js文件,相等于把01-demo.js中的代码复制到这里
    // require('./01-demo.js');
    
    // require() 加载json文件,而且会将加载的结果处理成js数组或对象
    // let j = require('./000.json');
    // console.log(j); // 得到js数组
    
    // __dirname 表示当前js文件所在的目录的绝对路径
    // console.log(__dirname); // E:\Study\76\Node\day03\code
    
    // __filename 表示当前js文件所在的绝对路径,包含文件名
    console.log(__filename);   // E:\Study\76\Node\day03\code\02-require.js
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    01-demo.js

    // 写点js代码,让node执行一下
    let fn = () => {
        console.log(123);
    };
    fn();
    
    for (let i = 1; i <= 3; i++) {
        console.log(i);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    000.json

    [
        {"id": 1, "name": "张三疯", "content": "哈哈哈哈"},
        {"id": 2, "name": "张三疯", "content": "哈哈哈哈"},
        {"id": 3, "name": "张三疯", "content": "哈哈哈哈"},
        {"id": 4, "name": "张三疯", "content": "哈哈哈哈"}
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    Java性能调优System的gc垃圾回收方法
    如何在Blender中压缩/减小GLTF模型的大小
    PHP 变动:PHP 8 版本下字符串与数值的弱比较
    机器学习笔记 - TransUNet 用于医学图像分割的编码器
    物联网AI MicroPython学习之语法 GPIO输入输出模块
    ‘face_alignment‘ has no attribute ‘FaceAlignment‘
    OpenAI 的 GPTs 提示词泄露攻击与防护实战:攻击卷(一)
    Rust for Linux:世界上最大的软件项目的内存安全问题有办法了!
    跨境资讯站
    Citespace、vosviewer、R语言的文献计量学 、SCI
  • 原文地址:https://blog.csdn.net/weixin_44867717/article/details/126376237