在javascript中从函数外部调用函数

在javascript中从函数外部调用函数,javascript,Javascript,我想知道如何使用摄像头中的功能。 我没有从外部访问功能a和b的线索。 当我运行此代码时,控制台中有未定义的错误 var camera = (function () { function a(){ console.log('calling ..a'); } function b(){ console.log('calling ..b'); } })();

我想知道如何使用摄像头中的功能。 我没有从外部访问功能a和b的线索。 当我运行此代码时,控制台中有未定义的错误

    var camera = (function () {
    
      function a(){
        console.log('calling ..a');
      }
    
      function b(){
        console.log('calling ..b');
      }
    
    })();
    
    //calling function a() from outside
    camera.a();

您可以返回一个对象,该对象包含两个函数:

摄像机=功能{ 功能a{ console.log'calling..a'; } 功能b{ console.log'calling..b'; } //将a和b公开为公共API 返回{a,b} }; //从外部调用函数a 摄像机a;
照相机b 您可以返回一个对象,该对象包含两个函数:

摄像机=功能{ 功能a{ console.log'calling..a'; } 功能b{ console.log'calling..b'; } //将a和b公开为公共API 返回{a,b} }; //从外部调用函数a 摄像机a;
照相机b 现在您为外部创建了一个私有范围,因此需要创建一个公共范围

摄像机=功能{ 功能a{ console.log'calling..a'; } 功能b{ console.log'calling..b'; } 返回{ A. B } }; //从外部调用函数a
摄像机a 现在您为外部创建了一个私有范围,因此需要创建一个公共范围

摄像机=功能{ 功能a{ console.log'calling..a'; } 功能b{ console.log'calling..b'; } 返回{ A. B } }; //从外部调用函数a 摄像机a 功能摄像机{ 这个.a=函数{ console.log'calling..a'; }; 这个.b=函数{ console.log'calling..b'; }; } //从外部调用函数a var c=新相机; c、 b 功能摄像机{ 这个.a=函数{ console.log'calling..a'; }; 这个.b=函数{ console.log'calling..b'; }; } //从外部调用函数a var c=新相机;
c、 b;答案很简单:你不能。如果不更改代码以公开a,则不能这样做。您可以将摄影机转换为对象并以这种方式调用函数,但对象内部的语法略有不同。简单的解决方案是,接受一个变量并为其添加必要的属性。示例:var someObject={};functioncontext{context.a=…}someObjectSimple回答:您不能。如果不更改代码以公开a,则不能这样做。您可以将摄影机转换为对象并以这种方式调用函数,但对象内部的语法略有不同。简单的解决方案是,接受一个变量并为其添加必要的属性。示例:var someObject={};functioncontext{context.a=…}一些对象也称为