将变量设置为函数,但不应执行该函数

Set variable to function but that function should not get executed

我正在 someMethod1 中设置一些变量,并想将该变量传递给 someMethod2。在这里,我只想将变量设置为 someMethod2 函数,但不应调用该方法。稍后需要在某些事件(单击)上调用它。我怎样才能实现这一目标?请帮助我。

someMethod1 = function() {
  var test = "testText";
  someMethod2(test)
};

someMethod2 = function(check) {
  var a = check;
};

您可以通过在全局范围内保存变量来做到这一点:

var sharedVars = {};

function someMethod1() {
   sharedVars.a = 'testText';
}

function someMethod2(check) {
   var a = (check)? check : sharedVars.a;
}

或创建一些对象来存储和 returns 键值:

var sharedStorage = {
   data: {},
   set: function(key, value) {
       this.data[key] = value;
       return this;
   },
   get: function(key, fallback) {
       return this.data[key] || fallback;
   }
};

function someMethod1() {
   sharedStorage.set('a', 'testText');
}

function someMethod2() {
   var a = sharedStorage.get('a');
}

在外面声明var test,然后在里面设置someMethod1()。现在您可以在 click event 上调用 someMethod2() 并将 test 设置为 a

var test;
someMethod1 = function() {
  test = "testText";
};

someMethod2 = function() {
  var a = test;
};