私は最初に検索で始まり、非常によく似た質問があったと言えますが、私はまだ分かりにくいです。関数をパラメータとして使用すると、
免責事項:宿題のためのロックペーパーはさみゲームを作っていますが、適切なJavaScript関数/パラメータの受け渡しについて簡単に質問しています。
私はopponentRandom()という関数を持っています。これは相手の(コンピュータの)選択肢として無作為化された "rock or paper or scissors"の値を返します。
私は、あなたの値(html文書の "onclick"によって決まる)とopponentRandom()関数の値を比較する別の関数compareChoices()を持っています。ゲームが常駐テーブル内の今
、次のようにテーブルデータの一つが(あなたの写真のいずれかをクリックする方法の例を、みんなを与えるために働くことになっている)である:今
<td onclick="comparisonChoices('paper', 'opponentRandomizer()**;**');">
<img src="paper.jpg" alt="paper" />
</td>
比較の最初のパラメータが選択されているはずです.todのonclick内のcompareChoices関数内のopponentRandom関数を簡単に呼び出すことができれば、本当に好きです。なぜなら、ランダムな結果がcompareChoices関数内で考慮されるからです。
これは機能しますか?呼び出された別の関数の中に関数をパラメータとして投げることは許されていますか? opponentRandom関数は実際にロック、ペーパー、はさみ値、および比較関数のいずれかを返して、勝ったのか、紛失したのか、結んだのかを判断します。私は適切な構文がわからない、あるいは私がこれを行うことができれば、まだ私のHTMLにjavascriptを統合していないし、ゲームに必要なすべての機能を持っているまで、それを実装する簡単な方法はわからない走る。あなたはonclick = "function(param、 'function()');)と呼ばれる別の関数の中に値を返す関数を置くことはできますか? ?
また、太字のセミコロンは私がそこにいるのでしょうか? (編集:**太字として表示されていませんが、私はセミコロンについて話しています** **に囲まれた)
はい、内部関数の戻り値をパラメーターとして渡す関数呼び出しパラメーターに関数を入れることはできますが、引用符を削除する必要があります。これを引用すると、関数呼び出しではなく、文字列 'opponentRandomizer()'が渡されます。 ';'を削除します。 –
'comparisonChoices( 'paper'、opponentRandomizer())' –
JavaScriptは非常に柔軟な言語であり、実際には関数参照を '()'なしで渡すことができますが、あなたの場合はそうではありません。 –