了解范围内的每个功能

Know every function on scope

我有一个函数 main,它有几个像这样的内部函数:

function main_f (params) {
    function do_this () {
        // do this...
    }
    function do_that () {
        do_this(); // working
        main_f.parse_stuff(); // not working
        parse_stuff(); // not working
    }
    do_that();
    main_f.parse_stuff = function(){
        console.log("success");
    }
}
function second_f () {
    main_f.parse_stuff(); //working
}

我原以为 main_f.parse_stuff() 会在 do_that 内工作,但事实并非如此。我的问题是:

-是否可以从 main_f 内部调用该方法?怎么样?

编辑:在 parse_stuff 写入后执行 do_that。

-为什么我不能从main_f调用parse_stuff

编辑:我刚刚意识到该函数不是在编译时读取,而是在执行时读取,因此在调用 do_that 时不可见。

-如何知道范围内的每个函数?

无法通过编程实现,但可以使用调试器实现。只需在该作用域上插入一个断点,您就可以检查全局、局部和闭包中的所有内容。

我用 chrome 开发工具检查过这个。