2013-11-22 84 views
0

我在玩Chrome的開發工具及其堆分析器。我無法完全弄清楚如何在頁面上找到JavaScript中定義的變量。你可以看到一些令人着迷的東西,但是搜索或瀏覽它是一個挑戰。例如,如果您在頁面正文中具有「var x = 42;」的小腳本,您如何在堆配置文件中找到它?如何在Chrome開發工具堆分析器中查找JavaScript變量?

回答

0

42不是堆對象。這是因爲性能和記憶。如果一個整數適合31位(一位保留用於標記指針/非指針),則v8按原樣保存它,否則v8爲它分配一個堆對象。請參閱http://www.youtube.com/watch?v=hWhMKalEicY

因此,在您的情況下,v8會在上下文中保留一個插槽,將名稱「關聯」到插槽並將存儲區42「關聯」到插槽中。在double的情況下,字符串,數組或對象v8將存儲指向它的指針。堆分析器掃描堆對象的堆。之後,它會掃描每個堆對象的內容以獲取指向其他對象的指針。結果它得到了堆圖。因此堆圖不包含純整數。

相關問題