目的:我需要在主函数中调用子函数;

函数声明:

var MainFunction = function () {

   function NestedFunc1(){
       console.warn("NestedFunc1");
   };

   function NestedFunc2(){
       console.warn("NestedFunc2");
   };
}


函数调用:

MainFunction.NestedFunc1();

MainFunction.NestedFunc2();


我究竟做错了什么?


10倍;

最佳答案

您可以通过属性将其公开

function MainFunction  () {

   this.nestedFunc1 = function(){
       console.warn("NestedFunc1");
   };

   this.nestedFunc2 = function(){
       console.warn("NestedFunc2");
   };

}


现在您可以通过执行以下操作来调用此函数

var malObj = new MainFunction();
malObj.nestedFunc1();


但是,如果您仍想像MainFunction.NestedFunc1()那样调用它,则使其

var MainFunction = {

   NestedFunc1:function (){
       console.warn("NestedFunc1");
   },

   NestedFunc2:function (){
       console.warn("NestedFunc2");
   }
}

08-26 14:30