Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 - Fatal编程技术网

在javascript中使用模块模式进行未定义

在javascript中使用模块模式进行未定义,javascript,Javascript,var模块=(函数(){ var privateMethod=函数(){ log(“私有方法”); } 返回{ publicmethod1:function(){console.log('first');}, publicmethod2:function(){console.log('second');} } })(); log(Module.publicmethod1()); log(Module.publicmethod2())替换 console.log(Module.publicmeth

var模块=(函数(){
var privateMethod=函数(){
log(“私有方法”);
}
返回{
publicmethod1:function(){console.log('first');},
publicmethod2:function(){console.log('second');}
}
})();
log(Module.publicmethod1());
log(Module.publicmethod2())替换

console.log(Module.publicmethod1());
console.log(Module.publicmethod2());

您的公共方法已具有console.log()

扩展

语句
Module.publicmethod1()
没有返回任何内容(这意味着它返回
undefined
,因此当您将该语句放入
console.log()
调用中时,您正在打印
undefined
方法的结果

由于您还在方法中调用
console.log()
,因此不需要打印方法的结果(因为它们不会返回任何内容)。

替换

console.log(Module.publicmethod1());
console.log(Module.publicmethod2());

您的公共方法已具有console.log()

扩展

语句
Module.publicmethod1()
没有返回任何内容(这意味着它返回
undefined
,因此当您将该语句放入
console.log()
调用中时,您正在打印
undefined
方法的结果


由于您还在方法中调用
console.log()
,因此不需要打印方法的结果(因为它们不会返回任何内容)。

当您运行
publicmethod1()
publicmethod2()时
,它们已经记录了
第一次
第二次
,但它们不返回任何内容。因此最后一次
控制台.log
调用将记录被调用方法的返回值,即
未定义
。只需调用

Module.publicmethod1();
Module.publicmethod2();

然后运行
publicmethod1()
publicmethod2()时,不会得到任何
未定义的

,它们已经记录了
第一次
第二次
,但它们不返回任何内容。因此最后一次
控制台.log
调用将记录被调用方法的返回值,即
未定义
。只需调用

Module.publicmethod1();
Module.publicmethod2();
然后你就不会得到任何未定义的