質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

1310閲覧

javascriptのプログラムが動かない問題に関して。

yassan19

総合スコア19

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/05/12 05:53

お忙しいところ失礼いたします。私は現在javascriptを勉強しているのですが、参考書を見ながらプログラムを組んで動かそうとしたのですが。うまく動かず、いろいろ手直しをしてみましたが自分には難しく、皆さんの意見をお聞きしたく、質問いたしました。お手数かとは思いますが、皆様の知恵をお貸ししていただければと思いますので、よろしくお願いいたします。

<head> </head> <body> <script type="text/javascript"> //ジャンケンの手の番号を設定 var g = 1; var t = 2; var p = 3; //ジャンケンの入力ダイヤログボックスを表示 var hum = prompt("これからじゃんけんゲームをします。\n:グーの場合は1\n:チーの場合は2\n:パーの場合は3\nを入力してください。"); hum = parseInt(hum,10); 入力値のチェック if( hum !== g && hum !== t && hum !== p){ alert("入力された値が間違っています、正しい値を入力して下さい。"); }else{ //コンピュータの手を決めます。 var com = Math.floor(Math.random()*3)+1; //コンピュータの手の名前を設定します。 var comHandName = ""; switch(com){ case g: comHandName ="グー"; break; case t: comHandName ="チー"; break; case p: comHandName ="パー"; break; default: comHandName ="入力された値が評価できません。"; } var msgResult= ""; if(hum === com){ msgResult ="あいこでした。"; }else if((hum === p && com === g )||(hum === g && com === t)||(hum === t && com === p )){ msgResult="あなたが勝ちました。"; }else{ msgResult="あなたが負けました。"; } msgResult = "ジャンケンの結果は"+msresult;"です。"+":コンピュータの出した手は"+comHandName+"です。"; } </script> </body> </html>

制作に使ったエディターはBracketsです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/05/12 05:55

「うまくできない」とは「何をしたときに」「どうなると思って」「どうなったのか」を、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
BeatStar

2019/05/12 06:04

私も、「どのようにうまくいかないのか」を提示したほうがいいと思う。 例えば、「ボタンを押すとグー、チョキ、パーのいずれかが表示されるはずが、undefinedとなっている」とか。
guest

回答3

0

どのようにできないのか詳細な情報がないので確実なことは言えませんが、最終的に結果
を入れた変数(msgResult)を表示する処理が書かれてないのが原因ではないでしょうか?

js

1window.alert(msgResult);

投稿2019/05/12 06:05

sola-msr

総合スコア876

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chinpos_soup

2019/05/12 06:11

それに加えて ・「変数 t の変数宣言時にセミコロンが全角になっていて動かない」とか、 ・「コード中にコメントアウトするべき文字列があるのにコメントアウトしていなくて動かない」 とかもあります。
sola-msr

2019/05/12 06:14

あー確かに・・・ エディタでシンタックスエラー出てるレベルですね Bracketsがシンタックスエラーだすかわからないですけど
yassan19

2019/05/12 06:32

ご指摘ありがとうございます。最後のalert(msgResult)が抜けてしまっていたようです。Brackets自体の仕様なのか、エラーの場合ですと、previewで見てもプログラムが実行されないだけでどこにエラーがあるのかというのがわからないというのが一番の辛いです。
退会済みユーザー

退会済みユーザー

2019/05/13 14:11 編集

リンクうまく表示されなかったので、回答欄にします????????w
guest

0

JavaScriptの実行結果(エラーを含む)を「開発者ツール」で調べる

「エラーの場合何も表示されなくて分からない」との事ですが、ブラウザに内蔵されている 開発者ツール を使いましょう。

以下のキーボードショートカットで 開発者ツール が表示されます。

windows

Chrome, Firefox: F12キー:

Mac

Safari: MacのSafariの開発者ツールとは? 解説と使い方-UX Milku
Chrome, Forefox: ⌘ + ⌥ + I

「開発者ツールを表示させる」→「コンソール」タブを選択するとエラーやconsole.log()で渡した値が確認できます。

開発者ツールの解説

分かりやすそうな動画

Chrome開発者ツールの紹介… -たにぐちまこと-

公式 解説ページ

MDNの日本語ページ結構"死んでる"ページが散見されるので、

  • 「MDN英語ページ→Google翻訳でページ全体を翻訳」
  • 「MDN英語ページ→????右クリック→ページを翻訳」」

した方が読みやすい・分かりやすいかもです。個人的に、ですが…????w

後、コード上手く動くようにしました。フローが分かりやすいよう「コメント」入れておきました。いい感じでじゃんけん✊✌️✋出来ました✨♪♪

html

1<!doctype html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8" /> 5 <title>投稿案件</title> 6</head> 7<body> 8 9 10 11<script> 12"use strict"; 13//ジャンケンの手の番号を設定 14var g = 1; 15var t = 2; 16var p = 3; 17 18 19// ジャンケンの入力ダイヤログボックスを表示 20var hum = prompt("これからじゃんけんゲームをします。\n:グーの場合は1\n:チーの場合は2\n:パーの場合は3\nを入力してください。"); 21 22hum = parseInt(hum, 10); 23 24// 入力値のチェック 25if( hum !== g && hum !== t && hum !== p ){ 26 alert("入力された値が間違っています、正しい値を入力して下さい。"); 27} else { 28 //コンピュータの手を決めます。 29 var com = Math.floor(Math.random()*3) + 1; 30 console.log( com ) 31 //コンピュータの手の名前を設定します。 32 var comHandName = ""; 33 var msgResult= ""; 34 35 // 36 switch(com){ 37 case g: 38 comHandName ="グー"; 39 break; 40 case t: 41 comHandName ="チー"; 42 break; 43 case p: 44 comHandName ="パー"; 45 break; 46 default: 47 comHandName ="入力された値が評価できません。"; 48 } 49 50 // 引分け 51 if( hum === com ){ 52 msgResult ="あいこでした。"; 53 54 // 勝ち 55 } else if ( (hum === p && com === g ) || 56 (hum === g && com === t ) || 57 (hum === t && com === p ) ){ 58 msgResult="あなたが勝ちました。"; 59 60 // 負け 61 } else { 62 msgResult="あなたが負けました。"; 63 } 64 65 // 結果表示 66 msgResult = "ジャンケンの結果は"+ msgResult +"です。:コンピュータの出した手は"+ 67 comHandName +"です。"; 68 alert( msgResult ) 69} 70</script> 71 72 73</body> 74</html>

投稿2019/05/13 14:16

編集2019/05/14 04:35
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasutomi

2019/05/13 14:22

JavaScriptではなくHTMLです。
退会済みユーザー

退会済みユーザー

2019/05/13 14:57 編集

.
guest

0

ベストアンサー

回答&解答

  • var t = 2; => var t = 2;
  • 入力値のチェック => // 入力値のチェック
  • "+msresult; => +msgResult+
  • 結果の確認のためにconsole.log(msgResult);追加

html

1<html> 2<head> 3<title>訪問回数を表示する</title> 4<meta charset="utf-8"/> 5</head> 6<body> 7 <script type="text/javascript"> 8 //ジャンケンの手の番号を設定 9 var g = 1; 10 var t = 2; 11 var p = 3; 12 13 //ジャンケンの入力ダイヤログボックスを表示 14 var hum = prompt("これからじゃんけんゲームをします。\n:グーの場合は1\n:チーの場合は2\n:パーの場合は3\nを入力してください。"); 15 16 hum = parseInt(hum,10); 17 // 入力値のチェック 18 if( hum !== g && hum !== t && hum !== p){ 19 alert("入力された値が間違っています、正しい値を入力して下さい。"); 20 }else{ 21 //コンピュータの手を決めます。 22 var com = Math.floor(Math.random()*3)+1; 23 //コンピュータの手の名前を設定します。 24 25 var comHandName = ""; 26 switch(com){ 27 case g: 28 comHandName ="グー"; 29 break; 30 case t: 31 comHandName ="チー"; 32 break; 33 case p: 34 comHandName ="パー"; 35 break; 36 default: 37 comHandName ="入力された値が評価できません。"; 38 } 39 var msgResult= ""; 40 if(hum === com){ 41 msgResult ="あいこでした。"; 42 }else if((hum === p && com === g )||(hum === g && com === t)||(hum === t && com === p )){ 43 msgResult="あなたが勝ちました。"; 44 }else{ 45 msgResult="あなたが負けました。"; 46 } 47 msgResult = "ジャンケンの結果は"+msgResult+"です。"+":コンピュータの出した手は"+comHandName+"です。"; 48 } 49 console.log(msgResult); 50 </script> 51</body> 52</html>

投稿2019/05/12 06:25

yasutomi

総合スコア2937

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/05/12 07:31

名言は言わないのでちゅか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問