2

我正在尝试将所有函数参数推送到数组,其中一个参数是函数,我不能这样做,因为在将函数推送到数组后我在这个地方有 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] -> 但这适用于 JSFiddle(也在 OSX Safari 和 IOS Safari 上):(

4

1 回答 1

0

问题解决了:

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

当我记录对象时:

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

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

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

它奇怪且有点令人困惑,但PhoneGap控制台在将其推送到数组并记录'null'后无法记录功能。

于 2012-06-21T05:56:31.860 回答