簡體   English   中英

訪問JavaScript內存對象

[英]Accessing JavaScript in-memory objects

是否可以從代碼內訪問JS內存對象? 有內部存儲器檢查器嗎? 我可以從代碼中列出具有給定原型(或類型)的對象嗎?

// EXAMPLE
function Kitten(name) { this.name = name; }
var kitten = new Kitten('furry');
// ...
// Any features like this?
var kittens = ListObjectsOfType(Kitten);
// Or this?
var kittens2 = ListObjectsWithPrototype(kitten.prototype);

首先,我對Google的V8實施或ES6(和諧)規范感興趣。 (我也很欣賞其他技術。)

您可以為此創建一個函數。 就像是:

function ListObjectsOfType(type) {
    var result = [];
    for( var w in window ) {
        var val = window[w];
        if( val instanceof type )
            result.push(val);
    }
    return result;
}

如果您是從Chrome控制台調用此功能,則可以檢查/折疊生成的對象。 您可以擴展它以遍歷所有窗口變量(盡管您將要跳過默認值)。 我認為根據定義,不可能檢查以下內容:

function SomeObj() {
    var b = new Kitten('kitty');
}
new SomeObj();

我希望內存堆具有此obj,但永遠不會通過JS使用/檢測到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM