正如标题所说,我想知道是否可以获取传递函数的参数。经过几个小时的搜索和查看类似的问题,我仍然没有更接近,所以我会附上一个简单的例子,而不是我正在做的 - 因为我开始怀疑这是不可能的。JavaScript:获取传递函数的参数?
预期全局函数
function getTransaction(anyMethod)
{
db.transaction
(
function(transaction)
{
anyMethod(transaction);
},
function errorCB(err) {
redirectToLoginWithError("Error processing SQL");
},
function successCB() {
;//alert("Success!");
}
);
}
功能被称为
function iWork(tx)
{
tx.doSomething();
}
function iDontWork(tx, param1, param2)
{
tx.doSomething(param1, param2);
}
实际通话
// Works fine
getTransaction(iWork);
// The problem
getTransaction(iDontWork, value1, value2);
getTransaction(iDontWork2, value1, value2, ..., valueX);
我尝试了几种不同的方法,但迄今为止都没有证明成功。最近的(虽然不是很)已经
getTransaction(function(){iDontWork(value1,value2)}));
这会通过getTransaction调用正确的函数,但不会正确传递参数:保留Params(value1,value2),但事务对象丢失/未定义。我明白为什么会发生这种情况,但我看不到任何解决方案。所有说,我也打开,getTransaction应该被废弃,并以某种方式重新编写。关键是要获得一个可以很好扩展的灵活方法。
决定废止这个解决方案,因为已经指出getTransaction()的设计很糟糕。 –