初めてコールバック関数を使用しようとしていますが、うまく機能しません。これが私のコードの簡略版です:
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
、コードの実行時に値がコンソールに出力されます。私は何を間違っていますか?