- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL WHERE 条件
- Node.js - MySQL ORDER BY 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL JOIN 连接
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB LIMIT 限制
- Node.js - MongoDB JOIN 连接
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
NodeJS - console.dir() 方法
Node.js console.dir() 方法是 Console 类的一个内置方法。
Node.js 的 console.dir() 方法返回特定对象的属性。此方法用于在终端窗口中显示特定对象的属性的交互式列表。当调用时,它会打印对象的属性和值的层次结构表示,使用户能够快速检查它们,而无需手动遍历每个属性或值。
这在调试时特别有用。这是因为查看对象比在控制台日志中输入各个属性及其关联的值更容易。
假设一个男孩是一个对象,他有一些属性,例如姓名、年龄、学校、分数等。要返回男孩的属性,我们使用 Node.js 的 console.dir() 方法。为了更好地理解,让我们了解一下 console.dir() 方法的语法和用法。
语法
以下是 Node.js console.dir() 方法的语法:
console.dir(object[, options])
参数
此方法仅接受两个参数。下面描述了这些参数。
object − 此参数指定要返回的对象。
以下是可选参数,让我们了解一下它们。
showHidden − 这是一个 布尔值。如果为真,则将显示对象的不可枚举和符号属性。
depth − 这是一个数字。这将让我们打印指定对象的层级。默认情况下,深度为 2。如果我们想要获取对象的所有层级,则传递 null。
colors − 这是一个 布尔值。如果我们传递 true,则属性值将以 ANSI 颜色代码显示。我们可以自定义颜色。默认值为 false(无 ANSI 颜色)
返回值
此方法返回指定对象的属性。
示例
Node.js 的 console.dir() 方法仅接受一个 object 参数。
在下面的示例中,我们正在创建一个具有可枚举属性的对象。要返回对象的属性,我们使用对象名称作为参数调用 Node.js console.dir() 方法。
var object = { Name : "Nik", Age : 31, Eyes :"black", height : 5.2, weight : 70 } console.dir(object);
输出
正如我们在下面的输出中看到的,当我们通过将对象名称作为参数传递来调用 console.dir() 方法时,将列出对象的可枚举属性。
{ Name: 'Nik', Age: 31, Eyes: 'black', height: 5.2, weight: 70 }
示例
在下面的示例中,我们正在创建一个 4 层的对象。要返回对象的属性,我们使用对象名称作为参数调用 console.dir() 方法。
注意 − 默认情况下,console.dir() 方法只能深入到 2 层。
var object = { // level 0 start firstname : "James", lastname : "Anderson", Initial : function() { return this.firstname[0] + this.lastname[0]; }, attrributes: { // level 1 start age : 34, school : "High school", hobbies : { // level 2 start favourite : { // level 3 start sport : "football", book : "Nothing" }, RecentlyPlayed : { game : "cricket", videogame : "GTA5" } // level 3 ends } // level 2 ends } // level 1 ends } // level 0 ends console.dir(object);
输出
正如我们在下面的输出中看到的,我们得到了对象属性的输出,最多 2 层。因此,要获取对象的所有属性,我们需要使用 depth 参数。要了解 depth 参数的用法,请查看下一个示例。
{ firstname: 'James', lastname: 'Anderson', Initial: [Function: Initial], attrributes: { age: 34, school: 'High school', hobbies: { favourite: [Object], RecentlyPlayed: [Object] } } }
示例
Node.js 的 console.dir() 方法还接受一些其他参数,如 showHidden、depth 和 colors,我们在示例中使用了 depth 可选参数。
在下面的示例中,
我们正在创建一个 4 层的对象。
要返回对象的属性,我们使用对象名称作为参数调用 console.dir() 方法。
默认情况下,它仅返回对象属性的前 2 层。
我们尝试通过使用 depth 参数获取对象的所有层级的属性。
var object = { // level 0 start firstname : "James", lastname : "Anderson", Initial : function() { return this.firstname[0] + this.lastname[0]; }, attrributes: { // level 1 start age : 34, school : "High school", hobbies : { // level 2 start favourite : { // level 3 start sport : "football", book : "Nothing" }, RecentlyPlayed : { game : "cricket", videogame : "GTA5" } // level 3 ends } // level 2 ends } // level 1 ends } // level 0 ends console.dir(object, {depth: null, showHidden: true});
输出
正如我们在下面的输出中看到的,对象的所有层级的属性都已打印出来。我们通过将 depth 声明为 null 来实现这一点。
{ firstname: 'James', lastname: 'Anderson', Initial: [Function: Initial] { [length]: 0, [name]: 'Initial', [arguments]: null, [caller]: null, [prototype]: Initial { [constructor]: [Circular] } }, attrributes: { age: 34, school: 'High school', hobbies: { favourite: { sport: 'football', book: 'Nothing' }, RecentlyPlayed: { game: 'cricket', videogame: 'GTA5' } } } }
示例
Node.js 的 console.dir() 方法还接受一些其他参数,如 showHidden、depth 和 colors,我们在示例中使用了 showHidden 可选参数。
在下面的示例中,
我们正在创建一个 4 层的对象。
要返回对象的属性,我们使用对象名称作为参数调用 console.dir() 方法。
我们将 showHidden 参数传递为 true,它将显示隐藏对象的不可枚举和符号属性。
var object = { // level 0 start firstname : "James", lastname : "Anderson", Initial : function() { return this.firstname[0] + this.lastname[0]; }, attrributes: { // level 1 start age : 34, school : "High school", hobbies : { // level 2 start favourite : { // level 3 start sport : "football", book : "Nothing" }, RecentlyPlayed : { game : "cricket", videogame : "GTA5" } // level 3 ends } // level 2 ends } // level 1 ends } // level 0 ends console.dir(object, {depth: null, showHidden: true});
输出
正如我们在输出中看到的,隐藏属性与对象的属性一起显示在输出中。
{ firstname: 'James', lastname: 'Anderson', Initial: <ref *1> [Function: Initial] { [length]: 0, [name]: 'Initial', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, attrributes: { age: 34, school: 'High school', hobbies: { favourite: { sport: 'football', book: 'Nothing' }, RecentlyPlayed: { game: 'cricket', videogame: 'GTA5' } } } }
示例
Node.js 的 console.dir() 方法还接受一些其他参数,如 showHidden、depth 和 colors,我们在示例中使用了 colors 作为可选参数。
在下面的示例中,
我们正在创建一个 4 层的对象。
要返回对象的属性,我们使用对象名称作为参数调用 console.dir() 方法。
我们通过将 colors 参数传递为 true 来更改输出的颜色(使用 ANSI 颜色代码)。默认值为 false(无颜色)。
var object = { // level 0 start firstname : "James", lastname : "Anderson", Initial : function() { return this.firstname[0] + this.lastname[0]; }, attrributes: { // level 1 start age : 34, school : "High school", hobbies : { // level 2 start favourite : { // level 3 start sport : "football", book : "Nothing" }, RecentlyPlayed : { game : "cricket", videogame : "GTA5" } // level 3 ends } // level 2 ends } // level 1 ends } // level 0 ends console.dir(object, {depth: null, showHidden: true, colors: true});
输出
正如我们在输出中看到的,我们为对象的 string 属性获得了其中一种颜色,为对象的 integer 属性获得了另一种颜色。
{ firstname: 'James', lastname: 'Anderson', Initial: <ref *1> [Function: Initial] { [length]: 0, [name]: 'Initial', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, attrributes: { age: 34, school: 'High school', hobbies: { favourite: { sport: 'football', book: 'Nothing' }, RecentlyPlayed: { game: 'cricket', videogame: 'GTA5' } } } }