Javascript - 获取定义函数的函数或控件结构

时间:2014-04-11 18:43:12

标签: javascript reflection

我在另一个函数中定义了一个函数,如:

var bar;
function foo() {
    bar = function() {
        // This should output the full source code of foo()
    }
}

bar();

当我调用bar()时,它应该将foo()的完整源代码(定义它的函数)输出到控制台。应该在bar()内部使用什么代码来实现这种行为?

在我完成该部分之后,我将如何通过调用bar()来查看链中的更多内容以查看函数foo()的定义(依此类推等等)?

谢谢!

编辑:请不要回答无意义的回复,例如“你不应该这样做”或“你永远不需要这样做”。如果我不需要它,我就不会问。

1 个答案:

答案 0 :(得分:0)

你在寻找这些方面的东西吗?只要你从foo()运行bar(),这应该可行。

function foo() {
    self = foo;
    function bar() {
        console.log(self.toString());
    }
    bar();
}
foo();

您可以在此处测试:http://jsfiddle.net/eGwWG/