3

取り組んでいる課題があり、prompt()方法に問題があります。1 つのプロンプトを実行できることがわかりましたが、複数のプロンプトが必要です。

例えば...

DVD、CD、およびオーディオを含む多くのアーティストと列を含む HTML テーブルを作成しました。すべての行に価格があります。これを行うプロンプトを作成する必要があります。

このprompt()メソッドを使用して、ユーザーが購入したいアーティスト名、DVD の枚数、CD の枚数、オーディオ カセットの枚数を入力するようにユーザーに依頼します。回答を個別の変数に保存します。また、値ごとに個別のプロンプトを使用します。アドバイスをいただければ幸いです。

編集:以下のコメントからのコード:

var w=window.prompt("please enter your name");
window.alert(w);
var x=widow.prompt ("Enter how many DVDs you want to buy");
window.alert(x);
var y=window.alert ("Enter how many CDs you want to buy");
window.alert(y);
var z=window.alert ("Enter how many Audio Cassettes you want to buy");
window.alert(z);
4

4 に答える 4

5

その音から、以下はあなたの要件を満たしています:

var a, d, t;

while ( ! a ) a = prompt( "Which Artist?" );
while ( ! d ) d = prompt( "How many DVDs?" );
while ( ! t ) t = prompt( "How many tapes?" );

alert( "You want " + t + " Tapes, and " + d + " DVDs, of " + a + "." );

それを分解して、何が起こっているのかを理解しましょう:

var a, d, t;

最初の行で、以下のコードで使用する予定のさまざまな変数を宣言しています。これは一般的な方法であり、クリーンで管理しやすいコードを維持したい場合は、開発するのが良い習慣です。

while ( ! a )

whileループは、条件が満たされるまで何度も実行されるループです。この例では、の値がない限り、ループを実行するように指示していますa。次に来るのはa、ユーザーからの値を収集する試みです。

while ( ! a ) a = prompt( "Which Artist?" );

whileループが実行されるたびに、ユーザーに質問への回答を求めるプロンプトが表示されます。私たちは彼らの答えを受け取り、それをに割り当てますa。彼らが何も入力しなかった場合、whileループが再び実行され、再度プロンプトが表示されます。この時点で、次の2つのwhileループを理解できるでしょう。

最後に、アラートがあります。これは、さまざまな値を収集し、それらをユーザーに表示します。

alert( 'Artist ' + a );

これは、文字列の連結、または2つの文字列の結合の例も示しています。の中に値が格納されており、値aはテキストとして明示的に記述されています。+ロープの両端を接着剤で結ぶように、オペレーターを使用してこれらの両方を結合します。より多くの文字列と変数を追加するにつれて、+演算子をますます使用します。

alert( "You want " + t + " Tapes, and " + d + " DVDs, of " + a + "." );

このコードが実行されるtと、、、、dおよびaすべてがエンドユーザーによって挿入された実際の値に置き換えられます。

これは、宿題に必要なものの非常に基本的な実装であることに注意してください。実際のソリューションでは、入力のタイプをテストして、期待される形式であることを確認します。たとえば、ユーザーが必要なDVDの数を尋ねる場合、「許容できる」回答を整数のみに制限したい場合があります。

頑張ってください!

于 2012-04-19T02:39:48.277 に答える
2

値オブジェクト/配列に対してループを使用します。値が入力されるまで、2 番目の (ネストされた) ループを使用して再度プロンプトを出すことができます。

于 2012-04-18T18:09:50.143 に答える
2

最初のプロンプトをクリックすると、変数値を個別に保存できる別のプロンプトを処理する他の関数が呼び出されるように、複数の関数を使用します。再帰的に使用します。

于 2012-04-18T18:26:51.967 に答える