Skip to content

Instantly share code, notes, and snippets.

@poychang
Created March 5, 2017 14:37
Show Gist options
  • Save poychang/db670f058583432d9ae87ab52fc3e907 to your computer and use it in GitHub Desktop.
Save poychang/db670f058583432d9ae87ab52fc3e907 to your computer and use it in GitHub Desktop.
使用 Chrome Console 的小技巧

14 Must Know Chrome Dev Tools Tricks

YouTube:https://www.youtube.com/watch?v=xkzDaKwinA8

  • 在 Chrome 裡面可以按 F12 開啟 Dev Tools
  • 當 Javscript 會修改 DOM 元素,可以在 Dev Tools 的 Elements 頁籤選取指定的 DOM 元素,並設定 Break on... 當 DOM 有變化或屬性有調整時,會開啟 debugger 模式,並指向到該 Javascript 的位置

Break on

重點

  • console.group 預設是會展開資訊,可用 groupCollapsed 使之預設是摺疊起來
  • console.time 可用來測量執行時所花費的時間
  • fetch 是新的功能,用來取代 XMLHttpRequest
  • table 可以將陣列的變數用表格的方式呈現,這個超實用!

原始碼

<!DOCTYPE html>
<html lang="en">

<head>
    <title>Chrome Console Tricks!</title>
</head>

<body>
    <p onclick="makeGreen()">BREAK DOWN</p>
    <script>
        const dogs = [{ name: 'Snickers', age: 2 }, { name: 'hugo', age: 8 }];
        function makeGreen() {
            const p = document.querySelector('p');
            p.style.color = '#BADA55';
            p.style.fontSize = '50px';
        }
        // Refular
        console.log('Hello');

        //Interpolated
        console.log('Hello I am %s!', 'Poy Chang');
        var variable = '\${variable}';
        console.log(`
            ES6 可以用 Back Quote 反引號做換行字串的編寫
            也可以用 ${variable} 的方式來使用變數
        `);
        //Styled
        console.log('%c使用 CSS 樣式!', 'color:red;font-size:20px;');
        //Warning!
        console.warn('警告');
        //Error
        console.error('錯誤');
        //Info
        console.info('訊息');
        //Testing
        console.assert(1 === 1, '第一個參數決定是否要顯示此訊息');

        const p = document.querySelector('p');
        console.assert(p.classList.contains('wrong'), 'That is wrong');
        //Viewing DOM Elements
        console.log(p); //只顯示 DOM 元素
        console.dir(p); //顯示該 DOM 元素所有的屬性
        //Cleaning
        console.clear();
        //Grouping together
        dogs.forEach(dog => {
            console.group(`${dog.name}`);
            // console.groupCollapsed(`${dog.name}`);
            console.log(`This is ${dog.name}`);
            console.log(`${dog.name} is ${dog.age} years old`);
            console.log(`${dog.name} is ${dog.age * 7} dog years old`);
            console.groupEnd(`${dog.name}`);
        });
        //Counting
        console.count('target');
        console.count('target2');
        console.count('target2');
        console.count('target');
        console.count('target2');
        console.count('target');
        console.count('target');
        //Timing
        console.time('fetching data');
        fetch('https://api.github.com/users/poychang')
            .then(data => data.json())
            .then(data => {
                console.timeEnd('fetching data');
                console.log(data);
            });
        //Table
        console.table(dogs);
    </script>
</body>

</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Chrome Console Tricks!</title>
</head>
<body>
<p onclick="makeGreen()">BREAK DOWN</p>
<script>
const dogs = [{ name: 'Snickers', age: 2 }, { name: 'hugo', age: 8, test: 'ppp' }];
function makeGreen() {
const p = document.querySelector('p');
p.style.color = '#BADA55';
p.style.fontSize = '50px';
}
// Refular
console.log('Hello');
//Interpolated
console.log('Hello I am %s!', 'Poy Chang');
var variable = '\${variable}';
console.log(`
ES6 可以用 Back Quote 反引號做換行字串的編寫
也可以用 ${variable} 的方式來使用變數
`);
//Styled
console.log('%c使用 CSS 樣式!', 'color:red;font-size:20px;');
//Warning!
console.warn('警告');
//Error
console.error('錯誤');
//Info
console.info('訊息');
//Testing
console.assert(1 === 1, '第一個參數決定是否要顯示此訊息');
const p = document.querySelector('p');
console.assert(p.classList.contains('wrong'), 'That is wrong');
//Viewing DOM Elements
console.log(p); //只顯示 DOM 元素
console.dir(p); //顯示該 DOM 元素所有的屬性
//Cleaning
console.clear();
//Grouping together
dogs.forEach(dog => {
console.group(`${dog.name}`);
// console.groupCollapsed(`${dog.name}`);
console.log(`This is ${dog.name}`);
console.log(`${dog.name} is ${dog.age} years old`);
console.log(`${dog.name} is ${dog.age * 7} dog years old`);
console.groupEnd(`${dog.name}`);
});
//Counting
console.count('target');
console.count('target2');
console.count('target2');
console.count('target');
console.count('target2');
console.count('target');
console.count('target');
//Timing
console.time('fetching data');
fetch('https://api.github.com/users/poychang')
.then(data => data.json())
.then(data => {
console.timeEnd('fetching data');
console.log(data);
});
//Table
console.table(dogs);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment