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

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

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

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

Q&A

3回答

179閲覧

変数の書きかたの疑問

hisayanxp

総合スコア14

JavaScript

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

0グッド

1クリップ

投稿2018/09/02 22:12

編集2018/09/03 06:15
<html>  <body>   <script>    var str = 100+80+”yen”;    document.write(str);**   </script>  </body> </html> <html>  <body>   <script>    var str;    str = 100 + 80 + "yen";    document.write(str);**   </script>  </body> </html>

※1つ目のコードが動作しません。こんな方法もありますと記事にあったのですが・・・。
やはりこのCODEは間違っていますか?

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

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

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

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

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

m.ts10806

2018/09/02 22:36

javascript(2>はどこでしょうか。提示されいたコードはどちらも同じように見えます。また、**で囲っているのはなぜでしょうか?コード的には動かない要因となり、再現確認に手間が発生しますので「実際に動作させているコード」提示してください
think49

2018/09/02 23:52 編集

markdownの**太字**はコードブロック内で使用できません。複数行にわたっての使用も出来ません。ついでに、コメント欄ではmarkdownを使用できません。制約は複数あるので、投稿前にプレビュー画面で確認する癖をつけて下さい。投稿後に気が付いたミスは [編集] して下さい。 https://teratail.com/questions/edit/144476
think49

2018/09/02 23:51

質問は同様の問題に遭遇した人の為の参考情報となります。解決した質問も [編集] して下さい。
m.ts10806

2018/09/03 01:34

複数行に渡って使用できたような、、と思って試してみたら改行が削除されて1行で表示されるようになるんですね。ちょっと勘違いしてました。
m.ts10806

2018/09/03 06:20

コードはコードブロックにして提示するのが原則です。ワンクリックコピーもできるようになりますが、何よりコードブロックにしないことにより空白が詰められたりして再現できるコードにならないからです。
guest

回答3

0

” ←全角ですけど、これは?

文字列くくるのに全角クォートを「あり」としている記事は見たことないですね。

document.write()を使わずに画面出力する例

html

1<html> 2<body> 3<div id="price"></div> 4<script> 5var str; 6str = "&yen;"+(100 + 80); 7document.getElementById("price").innerHTML = str; 8</script> 9</body> 10</html>

getElementById()で出力箇所の特定を行い、そこにinnerHTMLで「対象のHTMLエレメントの中にテキストを挿入」します。
innerHTMLではなくtextContentというのもありますが、&部分が&と変換されるため、innerHTMLにしています。
対象の箇所にidが指定したため、getElementById()というのを使いましたが、getElement(s)~と言う機能は沢山あり、適宜使い分けると良いです。
nameからとるものタグ名からとるもの等など。

ちなみにconsole.log()は調べてもらえれば分かりますが、ブラウザの開発ツールのコンソールに出力するもので、いわゆる「デバッグ」に使うものです。
変数に想定通りの値が入っているか確かめたり、ifなどで処理に分岐をかけているときに想定の箇所を通っているか確認したりするときに使います。画面には出力しません。

投稿2018/09/02 22:40

編集2018/09/04 04:24
m.ts10806

総合スコア80850

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

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

hisayanxp

2018/09/04 03:59

私のミスです。
m.ts10806

2018/09/04 04:07

それはどういうことでしょうか? ミスコードを実行していて動作しなかったのか、質問に提示する際のコピペミスなのか
m.ts10806

2018/09/04 04:15

そういえば前の質問で回答した\マークについては今回は対応してないんですね・・。 ちょっと簡単にサンプル書いときます。
hisayanxp

2018/09/04 05:24

分かりました。javascriptと並行してhtmlも勉強中で、idも怪しいので後でやり直すようにします。有難うございました。
m.ts10806

2018/09/04 05:29

htmlを操作すると言う点では「後で」はなく「並行して」学ぶことになりますよ。 もちろんやりたいことによって比重は変動しますが、JavaScriptとhtmlの操作(一般的にDOM操作と言われること)は必ずついてまわります。 もしあれでしたらなるべく新しい発行日時の本を買って勉強するのを強くすすめます。 ネットの記事は古くなってるものも多く、今回のように今ではほとんどみないリスクのある表現を拾ってしまうことも多々ありますので。
guest

0

いまどきのDOMを多用するJavaScriptにとって、document.writeは基本的に過去の遺物です。できるだけ、別な手法を使いましょう。

変数宣言自体は特に問題ないはずです。

サイトで document.write() を使用しない

投稿2018/09/02 22:24

maisumakun

総合スコア145183

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

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

hisayanxp

2018/09/04 03:59

分かりました。console.logを使うんですね。
guest

0

javascriptの素人ということでよろしいですか?

javascriptは変数の型指定がなく、数値の和も、文字列の結合も「+」で
行うためちょっとあいまいすぎて理解に苦しむかもしれませんね

+で整数と文字列を結合するなら整数値をいちど文字列に変換する癖を
付けたほうがいいでしょう

javascript

1var str = (100+80).toString()+"yen"; 2console.log(str);

モダンブラウザをご利用であれば
ヒアドキュメントで自動展開させる場合はこう

javascript

1const str=`${(100+80)}yen`; 2console.log(str);

投稿2018/09/03 07:43

yambejp

総合スコア114769

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

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

hisayanxp

2018/09/04 03:59

申し訳ないです。まだ理解ができないので保留にさせてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問