在另一个(JS模块模式)

时间:2017-11-06 16:14:35

标签: javascript

假设我有一些包含变量的命名空间

const Game = (function() {
    let direction = "right";
})();

我需要在不同的模块中访问该变量

(function() {
    switch(keyCode) {
        case 65:
            direction...
    }
})();

访问该变量的语法是什么,取代" direction ..."?

1)如果我希望方向被Game中的return {}块直接返回怎么办?例如:return {direction:direction}

2)如果我希望direction成为Game中return {}块返回的函数的一部分怎么办?例如:return {init:init}其中init是一个包含我想要返回的变量的函数。

1 个答案:

答案 0 :(得分:0)

你可以这样做:

const Game = (function() {
    let direction = "right";

    function getDirection() {
        return direction;
    }

    function setDirection(dir) {
        direction = dir;
    }

    return {
        getDirection,
        setDirection,
    };
})();

在你的其他模块中:

(function() {
    switch(keyCode) {
        case 65:
            Game.setDirection('left');
    }
})();