2

すべての関数パラメーターを配列にプッシュしようとしています.1つのパラメーターは関数であり、これを行うことはできません.関数を配列にプッシュした後、この場所に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 Project)でこの問題をチェックしています。

   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」を取得しますが、さらに1ステップチェックして、これを試します。

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

その奇妙で少し紛らわしいですが、PhoneGap Consoleは、配列にプッシュして「null」をログに記録した後、関数をログに記録できません。

于 2012-06-21T05:56:31.860 に答える