私はプロジェクトオイラーの理由を行ってきました。ある時点で、値を関数の結果と比較したいと思っていました。それ以来、私は別のソリューションを選択しましたが、それは私に不思議な思いが残っています。これはどのように機能しますか?私のようなものを行うにした場合:条件内の関数を使用する
//javascript
if x == mathyFunction(10){
//do this
}
function mathyFunction(y){
if(y>0){
mathyFunction(y-1);
return y;
} else {
return y;
}
}
を、私は、これは末尾再帰か何か空想ではないことを承知している、私はロジックは、この背後にどのように機能するかを、主にだけ興味があります。
コンピューターはどのように解釈しますか?値== x
のいずれか1つがある場合はtrue
を返しますか、すべての値が== x
の場合にのみ真を返します。私は掘り続けるつもりだが、実験は私に推測を残している。
コードから、10の値をゼロにして、常に0を返すmathyFunctionが表示されます。次にxと比較し、xが0でなければfalseになります。 – nocturns2
@ nocturns2 0を返していないので、yを返しています。 – sepp2k
あなたはそうです。私はyの値を参照していました。これは、xの値と比較する値になります。 – nocturns2