JavaScript,将函数推送到数组中

时间:2012-06-20 21:03:01

标签: javascript cordova callback push

我正在尝试将所有函数参数推送到数组,其中一个参数是函数而我不能这样做,因为在将函数推送到数组之后我在这个地方有null 我有以下问题,我有:

var someFunction1 = function(someValue, callback)
{
    // I CAN DO THIS, CALL HERE CALLBACK

    callback();

    // OR PASS CALLBACK TO ANOTHER FUNCTION AND CALL

    // BUT WHEN I'M TRYING THIS:

    var someArray = [];  // OR new Array() ... 
    someArray.push(someValue);
    someArray.push(callback);

    console.log(someArray); // <--- THIS WILL GIVE ME ["EXAMPLE",null] to console
}

var someFunction2 = function()
{
      var callbackFunction = function()
      {
         console.log("SOME TEXT");
      }

      someFunction1("EXAMPLE", callbackFunction);
}

为什么我不能将这个回调函数推入数组?

请帮助:)

我现在在IOS(PhoneGap项目)上尝试解决这个问题:

   var array = [];
   array.push(function(){console.log("TEST");});
   console.log(array);

然后我得到结果[null] - &gt;但是这个工作在JSFiddle(也在OSX Safari和IOS Safari上):(

1 个答案:

答案 0 :(得分:0)

问题解决了:

这通常是PhoneGap控制台上的一些问题!

当我记录对象时:

console.log(function(){ /... CODE .../});

然后一切都很好,但在将函数推送到数组后我得到'null' 但我进一步检查了一下,我试试这个:

array[0](); //and function was called successfully :)

它的奇怪和有点令人困惑但PhoneGap Console无法在将其推送到Array并记录'null'后记录功能。