• 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
  • 相关阅读:
    Docker 部署 mysql 服务
    开发的网页不应该大于 14KB,你知道吗?
    “深入理解Nginx的负载均衡与动静分离“
    数据库设计规范
    13-面试官:synchronized有几种用法?
    Mac终端首行显示特定字符便于查看
    宝塔服务器配置提示No input file specified
    docker学习2-基本指令
    程序员健康防猝指南3:健康保健
    【SQL屠夫系列】leetcode-176. 第二高的薪水
  • 原文地址:https://blog.csdn.net/weixin_44867717/article/details/126376237