即使是寫教程的筆者,也不能記下JS的所有細節。那我是怎么保證自己寫出靠譜的JS程序呢?
就是使用瀏覽器自帶的控制臺,如Chrome的Console,來快速實驗自己即將使用卻遺忘了的細節。
# console.dir
與大家常用的console.log不同的是,console.dir并不用于日志輸出,而是一個打印JS變量結構的函數。
~~~
var str='ES';
console.dir(str);
var obj={ name: 'ES' };
console.dir(obj);
~~~

使用console.dir打印變量后,點擊左側的三角展開他的結構。
可以看到,打印str只有ES兩個字符。
而打印obj,會顯示類名(*Object*),字段(*name*)和對應值(*\"ES\"*),以及\_\_proto\_\_屬性。
以上打印條目的差異,是由他們的類型來決定的。
ES的類型分成兩種,值類型和引用類型。
當使用console.dir打印變量時:
* 如果是值類型,僅僅輸出他的值。
* 如果是引用類型,則輸出他的類名,自定義的屬性和\_\_proto\_\_屬性。
使用console.dir有兩個好處,一個就是有助于我們直觀地分辨值類型和引用類型。
另一個好處就是,我們可以用鼠標展開對象的屬性節點,直觀地瀏覽對象的結構。
