有时我迷失了JavaScript对象的prototype链,因此我希望有一个函数可以友好地打印给定对象的原型(prototype)链。

我正在使用Node.js。

function getPrototypeChain(obj) {
   ....
}
var detail = getPrototypeChain(myobject)
console.log(JSON.stringify(detail))

最佳答案

此函数清楚地显示任何对象的原型(prototype)链:

function tracePrototypeChainOf(object) {

    var proto = object.constructor.prototype;
    var result = '';

    while (proto) {
        result += ' -> ' + proto.constructor.name;
        proto = Object.getPrototypeOf(proto)
    }

    return result;
}

var trace = tracePrototypeChainOf(document.body)
alert(trace);

tracePrototypeChainOf(document.body)返回"-> HTMLBodyElement -> HTMLElement -> Element -> Node -> EventTarget -> Object"

关于javascript - 打印给定对象的原型(prototype)链的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22168033/

10-09 15:10