【第2章 Node.js基础】2.4 Node.js 全局对象(一)

编程入门 行业动态 更新时间:2024-10-17 23:34:53

【第2章 Node.js基础】2.4 Node.js <a href=https://www.elefans.com/category/jswz/34/1765343.html style=全局对象(一)"/>

【第2章 Node.js基础】2.4 Node.js 全局对象(一)

什么是Node.js 全局对象

对于浏览器引擎来说,JavaScript 脚本中的 window 是全局对象,而Node.js程序中的全局对象是 global,所有全局变量(除global本身外)都是global 对象的属性。全局变量和全局对象是所有模块都可以调用的。Node.is 的全局变量包括filename和 dirname 等,全局对象包括console 和process 等。

全局变量 __filename和 __dirname

  • __flename (两个下画线开头)指向当前正在执行的脚本文件名。
  • __dimname 指向当前运行的脚本所在的目录。与path.dirname( __filename)返回的路径相同
console.log("======输出开始==========")
console.log(__filename);
console.log(__dirname);
console.log("======输出结束==========")


上面演示 console.log(__filename); 输出了脚本文件的绝对路径。console.log(__dirname); 则输出了脚本文件所在文件夹的绝对路径。

假定有两个模块a和b,其中b是a的依赖文件,a和b的目录结构如下

/users/zxp/app/a.js
/users/zxp/app/node_modules/b/b.js

b.is中的 __filename会指向/users/zxp/app/node modules/b/b.js,
而a.js 中的 __filename 会指向/users/zxp/app/a.js。

也就是说模块依赖不会改变路径。

console 模块

console 模块类似于Web浏览器提供的JavaSctipt 控制台。该模块导出两个特定的组件:全局console 实例和 Console 类目。

1,全局console 实例

在Node.js中,全局的console对象提供了一些常用的方法来进行控制台输出。
这些方法可以帮助开发者在开发过程中进行调试和输出信息,方便定位问题和查看程序运行状态。
以下是console对象的一些常用方法:

  1. console.log(message[, …args]):以普通文本形式输出消息到控制台。
    示例代码:

    console.log("Hello, World!");
    
  2. console.error(message[, …args]):以错误文本形式输出消息到控制台。
    示例代码:

    console.error("Error occurred!");
    
  3. console.warn(message[, …args]):以警告文本形式输出消息到控制台。
    示例代码:

    console.warn("Warning: This action is not recommended!");
    
  4. console.info(message[, …args]):以信息文本形式输出消息到控制台。
    示例代码:

    console.info("Information: The server is running.");
    
  5. console.debug(message[, …args]):以调试文本形式输出消息到控制台。
    示例代码:

    console.debug("Debugging information: ", variable);
    
  6. console.dir(obj[, options]):以对象形式输出对象的详细信息到控制台。
    示例代码:

    const obj = { name: "John", age: 30 };
    console.dir(obj);
    
  7. console.time(label) 和 console.timeEnd(label):用于计算代码执行时间的开始和结束点。
    示例代码:

    console.time("myTimer");
    // 执行一些耗时操作
    console.timeEnd("myTimer");
    
  8. console.trace(message[, …args]):输出当前调用栈的跟踪信息。
    示例代码:

    console.trace("Trace this function call");
    

Console 类

Console类可用于创建具有可配置输出流的简单记录器。通过 require('console').Console 或者console.Console 进行访问。
Console类有以下方法,可以用于写入任何Nodejs流。

  • console.log()
  • console.errror()
  • console.warn()
const fs = require('fs');const out = fs.createWriteStream('out.log');
const err = fs.createWriteStream('err.log');
const myConsole = new console.Console(out, err);
myConsole.log('hello world'); // 打印hello world到out流
myConsole.log('hello %s', 'world'); //打印hello world到out流
myConsole.error(new Error('错误信息')); //打印 [Error: 错误信息] 到 err流
const name = 'Robert';
myConsole.warn(`Danger ${name}! Danger!`); 

更多推荐

【第2章 Node.js基础】2.4 Node.js 全局对象(一)

本文发布于:2023-11-15 01:53:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591622.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:全局   对象   基础   Node   js

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!