了解范围内的每个功能

时间:2015-06-29 08:31:43

标签: javascript closures

我有一个函数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。

- 为什么我无法从parse_stuff致电main_f

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

- 我如何知道范围内的所有功能?

1 个答案:

答案 0 :(得分:0)

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

我用chrome dev-tools检查了这个。