执行一个位于另一个函数Javascript中的函数

时间:2018-06-18 11:17:45

标签: javascript function

我正在使用Javascript MVC创建一个网络应用,其中我有一个如下所示的功能

function test() {
   //this function won't do anything but create a new function inside.
     function executeLot(lot1, lot2) {
       //normal function execution;
     }
}

现在我想调用函数executeLot(1,2) 但我无法调用它,因为它位于test()

如何从测试函数外部调用executeLot。

3 个答案:

答案 0 :(得分:1)

MVC平台的最佳方式是基于类模型的系统,而不是全局方法或程序代码。

参见示例:

//////////////////////////////////////////////////////////
// Class Definition ECMA 5 - works on all modern browsers 
//////////////////////////////////////////////////////////

function Test() {

     this.executeLot = function(lot1, lot2) {
       //normal function execution;
       console.log(lot1 + " <> " + lot2)
     }
     
}

//////////////////////////////////
// Make instance from this class
//////////////////////////////////

var myTest = new Test();

//////////////////////////////////
// Call method
//////////////////////////////////
myTest.executeLot(1,1);

答案 1 :(得分:0)

您无法直接调用该功能。你将不得不这样返回:

function test() {
  return function executeLot(lot1, lot2) {
    // [...]
  }
}

答案 2 :(得分:0)

您可以返回一个函数并将其分配给这样的变量:

function test(){
    return function(arg1,arg2){
        // do your magic here
    }
}

var executeLoot = test();
//Call your returned function
var arg1 = 1;
var arg2 = 2;
executeLoot(arg1,arg2);