一个Javascript Enclosure内部函数如何调用另一个内部函数

时间:2013-08-13 04:11:27

标签: javascript function oop call internal

func2如何在同一Javascript机箱内调用func1?这甚至可能吗?

var x = (function() {

    return {
        func1: function func1() {},
        func2: function func2() {
            var y = func1();  // Doesn't work! What does?
        }
    }

}());

2 个答案:

答案 0 :(得分:2)

在返回之前定义func1,然后将func1的引用分配为返回对象的属性。

var x = (function() {
    function func1() {}

    return {
        func1: func1,
        func2: function func2() {
            var y = func1();
        }
    }

}());

答案 1 :(得分:1)

var x = (function() {

return {
    func1: function func1() {},
    func2: function func2() {
        var y = this.func1();
    }
}

}());

也许您正在寻找类似的东西?