- 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' }
}
}
}
