パラメータ "redo"がtrueに設定されているときに自分自身を呼び出す関数 "returnsTrue"を呼び出します。次に、同じ関数 "returnsTrue"を "redo"パラメータをfalseに設定して呼び出すと、trueを返したいと思います。しかし、実際には私は "未定義"にしか戻らない。自身を呼び出す関数がtrueを返さない
私は本当にここで何が起こっているか理解できない。
function returnsTrue(redo){
if(redo){
console.log('Restart Function');
returnsTrue(false);
}else{
console.log('It returns true');
return true;
}
}
if(returnsTrue(true)){
console.log('1');
}else{
console.log('2');
}
var isTrue = returnsTrue(true);
console.log(isTrue);
// is undefined
チェックhttps://jsfiddle.net/8820r2ug/
@Armin同期メソッドです。待機する必要はありません。 – Archer