Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/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执行错误_Javascript_Undefined_Sublimetext3 - Fatal编程技术网

升华中的Javascript执行错误

升华中的Javascript执行错误,javascript,undefined,sublimetext3,Javascript,Undefined,Sublimetext3,我正在学习JavaScript,这是我的第一周: 变量模块=函数{ //代码 var publicMethod={}; var privateMethod=函数SomeStringToPassed{ 我爱美国。+有些东西需要分开; } publicMethod.someFunction=函数{ privateMethodUSA是性感的; } 返回法; }; debugModule.someFunction 你没有从某个函数返回任何东西。试试这个: 现在,someFunction返回privat

我正在学习JavaScript,这是我的第一周:

变量模块=函数{ //代码 var publicMethod={}; var privateMethod=函数SomeStringToPassed{ 我爱美国。+有些东西需要分开; } publicMethod.someFunction=函数{ privateMethodUSA是性感的; } 返回法; };
debugModule.someFunction 你没有从某个函数返回任何东西。试试这个:

现在,someFunction返回privateMethod的值。privateMethod返回构造的字符串

变量模块=函数{ //代码 var publicMethod={}; var privateMethod=函数SomeStringToPassed{ 返回我爱美国+一些需要分离的东西; } publicMethod.someFunction=函数{ 还私生活方式美国性感; } 返回法; };
debugModule.someFunction;这是因为您正在调用someFunction,然后立即将结果传递给debug。要么删除第二个调试,要么用返回替换第一个调试。嘿,托马斯,谢谢你的回复。如果我用Module.publicMethod或Module.publicMethod替换Module.someFunction,它会给我一个错误。是否有任何原因使我不能在外部引用publicMethod当代码执行时,模块对象会获得对publicMethod对象的引用,因为您是从自开票函数返回它的。所以,模块只能访问publicMethod对象的属性,对于您的示例来说,它只是一个函数。您可以通过搜索javascript模块模式找到更多信息。这里有一些例子-
var Module = (function () {
//code
   var publicMethod = {};

   var privateMethod = function(someStringToBePassed) {
        return ("I love USA. "+someStringToBePassed);
    }

    publicMethod.someFunction = function() {
      return  privateMethod("USA is sexy");
    }
    return publicMethod;
})();

var sample = Module;
console.log(sample.someFunction())