我第一次尝试使用回调函数并且无法使其正常工作。这是我的代码的简化版本:
var unsavedChanges = 1;
function saveData(callback)
{
// save data
if(typeof callback === "function")
{
unsavedChanges = 0;
callback.apply(arguments);
}
}
function nextStep(val)
{
if(unsavedChanges == 1)
{
saveData(nextStep, val);
return false;
}
console.log(val);
}
nextStep("test");
JSFiddle:http: //jsfiddle.net/tXqn3/
在我真正的“saveData”函数中,我正在使用保存数据,并且函数$.ajax()
中有回调.done()
。因此,这样,如果页面上有未保存的数据,则将其保存,然后执行调用的原始函数。
使用此代码,该值undefined
会在代码运行时打印到控制台。我究竟做错了什么?