• 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
  • 相关阅读:
    任务九 深度学习 K近邻学习
    【Java程序员面试专栏 算法思维】五 高频面试算法题:贪心算法
    谷歌浏览器网页显示不完整解决方法
    USB2.0 UTMI+接口
    一个漏测Bug能让你想到多少?
    mdserver-web开源简单的Linux面板仿宝塔
    【滤波跟踪】基于Huber函数和最大相关熵的抗差滤波算法实现GNSS导航定位粗差处理附matlab代码
    CKA场景题
    向量与矩阵范数、分布函数、 矩阵分解、随机抽样
    【完美世界】石昊偷渡出境四人组产生分歧,云曦和石昊牵手,二人世界要开始了
  • 原文地址:https://blog.csdn.net/weixin_44867717/article/details/126376237