我正在尝试将所有函数参数推送到数组,其中一个参数是函数而我不能这样做,因为在将函数推送到数组之后我在这个地方有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上):(
答案 0 :(得分:0)
问题解决了:
这通常是PhoneGap控制台上的一些问题!
当我记录对象时:
console.log(function(){ /... CODE .../});
然后一切都很好,但在将函数推送到数组后我得到'null' 但我进一步检查了一下,我试试这个:
array[0](); //and function was called successfully :)
它的奇怪和有点令人困惑但PhoneGap Console无法在将其推送到Array并记录'null'后记录功能。