Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS模块私有变量值问题_Javascript_Design Patterns - Fatal编程技术网

Javascript JS模块私有变量值问题

Javascript JS模块私有变量值问题,javascript,design-patterns,Javascript,Design Patterns,我被这个问题缠住了 var myModule = (function(){ var foo; foo = "bab"; console.log(foo); foo = "bab" + "more"; console.log(foo); function mth1(){ foo = "mag"; console.log(foo); } return{ pubMethod1: mth1

我被这个问题缠住了

var myModule = (function(){

    var foo;

    foo = "bab"; 
    console.log(foo);

    foo = "bab" + "more";
    console.log(foo);


    function mth1(){
      foo = "mag";
      console.log(foo);
    }

    return{
      pubMethod1: mth1 
    };

})();

myModule.pubMethod1();
问题在于,不是此输出,而是:

“bab”
“宝宝更多”
“杂志”

我得到这个输出:

“bab”
“mag”
“mag”

更具体地说,“bab More”由于某种原因被mth1()值覆盖

原始代码发布不可用


非常感谢你的想法

除了最初的代码错误之外,问题的一部分是console.log问题


有关StackOverflow的更多信息。

您的代码对我来说运行正常。您确定没有其他问题吗?。在简化示例的过程中,您已经删除了导致该行为的代码。最有可能是著名的“console.log记录对象,但将其评估推迟到以后扩展对象”问题。Crowder您能否写下console.log日志问题作为答案,因为这实际上是问题的一部分。非常感谢。