gpt4 book ai didi

javascript - 将 sourceLocation 属性添加到函数中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:43:56 25 4
gpt4 key购买 nike

作为问题 how-to-determine-source-information-of-callback-in-v8 的后续行动,我有以下问题。

如果我查看函数的属性,我会发现它有名称、长度等。是否可以通过破解“函数”对象的构造函数来自动向所有函数添加属性?如果是这样,应该如何做?我想添加一个名为“source_location”的属性

function foo() {
}

console.log(foo.name); //works out of the box
console.log(foo.source_location); //can I make this work?

最佳答案

您可以使用 v8 的调试器对象。

来源

// test.js

function bar() {
}

function foo() {
}

foo.source_location = debug.Debug.findFunctionSourceLocation(foo);

console.log(foo.name);
console.log(foo.source_location);
console.log(foo.source_location.script.name);

执行

node --expose-debug-as=debug test.js

输出

foo 
{ script: {}, // script object
position: 106,
line: 5,
column: 12,
start: 94,
end: 110 }
/home/skomski/test.js

引用文献

http://code.google.com/p/v8/source/browse/trunk/src/debug-debugger.js#586

关于javascript - 将 sourceLocation 属性添加到函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8910478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com