console.log()
方法是向 Web 控制檯輸出一條消息。使用方法也很是簡單。javascript
console.log('hello world');
// logs "hello world"
let num = 12;
console.log(num)
//logs 12
複製代碼
本文將提供幾個小技巧幫助你高效的使用console.log()
css
調試的過程當中常常碰到:輸出多個變量,在瀏覽器打開控制檯後,一陣凌亂不知道哪一個變量對應的哪一個值。以下:java
function calculate(a, b) {
let and = a + b;
let subtract = a - b;
console.log(and);
console.log(subtract);
}
calculate(1, 2);
calculate(6, 1);
複製代碼
執行代碼後,控制檯便輸出一系列數字。數組
雖然能夠看到輸出結果的對應代碼行數,可是還得對照着看,很麻煩。那麼如何將變量名一塊兒輸出呢??瀏覽器
將變量放入一對花括號內便可。例如console.log({and});
函數
function calculate(a, b) {
let and = a + b;
let subtract = a - b;
console.log({and});
console.log({subtract});
}
calculate(1, 2);
calculate(6, 1);
複製代碼
以下圖:變量名對應輸出的值,很是清楚。ui
有時候你須要輸出一條包含多種數據類型的信息。console.log()
提供了字符串格式化命令sprintf()
能夠用%s
, %i
等修飾符。spa
const user = 'April';
const counts = 100;
console.log('%s failed to do that %i times', user, counts);
// logs 'April failed to do that 100 times'
複製代碼
%s
, %i
分別被替換爲變量user
, counts
的值。%s
將轉換爲字符串,而%i
轉換爲數字。3d
如下是修飾符列表:調試
修飾符 | 做用 |
---|---|
%s | 元素轉換爲字符串 |
%d 或 %i | 元素轉換爲整數 |
%f | 元素轉換爲浮點數 |
%o | 元素以最佳有用的格式顯示 |
%O | 元素以通用JavaScript對象格式顯示 |
%c | 給元素添加css樣式 |
瀏覽器的控制檯容許對輸出的信息添加樣式。咱們能夠用%c
修飾符來添加樣式。以下:
let msg = 'hello world'
console.log(`%c ${msg}`, 'font-size: 36px; font-weight: bold; color : green');
複製代碼
結果如圖:
用JSON.stringify()
方便查看完整的對象結構。
let staff = [
{name: "April", job: "programmer", age: "18", hobby: "study"},
{name: "Shawn", job: "student", age: "8", hobby: "study"},
{name: "Leo", job: "teacher", age: "28", hobby: "play"},
{name: "Todd", job: "programmer", age: "19", hobby: "sleep"},
{name: "Scoot", job: "cook", age: "38", hobby: "study"},
]
console.log(JSON.stringify(staff, null, 2))
複製代碼
結果以下:
JSON.stringify()
方法將一個 JavaScript 值(對象或者數組)轉換爲一個 JSON 字符串。
JSON.stringify(value[, replacer [, space]])
// value 將要序列化成 一個 JSON 字符串的值。
// replacer 若是該參數是一個函數,則在序列化過程當中,被序列化的值的每一個屬性都會通過該函數的轉換和處理;若是該參數是一個數組,則只有包含在這個數組中的屬性名纔會被序列化到最終的 JSON 字符串中;若是該參數爲 null 或者未提供,則對象全部的屬性都會被序列化;
//space 指定縮進用的空白字符串,用於美化輸出;若是參數是個數字,它表明有多少的空格;上限爲10。該值若小於1,則意味着沒有空格;若是該參數爲字符串(當字符串長度超過10個字母,取其前10個字母),該字符串將被做爲空格;若是該參數沒有提供(或者爲 null),將沒有空格。
複製代碼