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日志问题作为答案,因为这实际上是问题的一部分。非常感谢。