• ベストアンサー

コンマとクオーテーションマークについて

URL=http://hogehoge document.write("HP:<a href='",URL,"'>",URL,"</a><br>"); これらのクオーテーションマークとコンマがどうのような働きをしているのかがわからないです。 具体的には"の中に"は使えないと思ったのですがなぜかあります。 また"のなかでは変数は文字として扱われると思ったのですが違うのでしょうか? またカンマの働きも複数の処理をするというのはわかっているのですが この場合はよくわかりません。 よくタグと変数がいっしょになってると出ているみたいです。 正直どれが対になってるのかもわかっていないかもしれないので一つ一つ 説明していただけるとうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • m035
  • ベストアンサー率44% (38/86)
回答No.2

document.write("HP:<a href='",URL,"'>",URL,"</a><br>"); は document.write("HP:<a href='"); document.write(URL); document.write("'>"); document.write(URL); document.write("</a><br>"); と同じ意味です。

shoshosho
質問者

お礼

ご回答ありがとうございます^^ やっぱり分けて考えるとわかりやすいですね。 2日ぐらいずっと悩んでいたのですがこれですっきりしました。

その他の回答 (3)

  • m035
  • ベストアンサー率44% (38/86)
回答No.4

>どうしてそのままではなくて複数の処理にしなければいけないのでしょうか? document.writeに長すぎる文字列を与えると 一部ブラウザでエラーになるからです。 ANo.2で書いたように分けて書いたのと同じ動作になるはずですから、 エラー回避かと思います。 また、+を使っていることも多いのはそのエラーが めったに起きないから意識されなくなったからと思いますが、 定かではありません。 ただ、現在は+でつないだほうがわかりやすい、かつ、 問題もそれほどないのでそれが主流になっているだけかと思われます。

shoshosho
質問者

お礼

再度の回答ありがとうございます^^ なるほどエラー回避のためとは目からうろこです。 ということは+で書いた場合も分けて処理するということですね。 多少の疑問は残るものの理由がわかってすっきりしました。 ありがとうございました!

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

document.writeは、引数をカンマで区切って複数与えることができます

shoshosho
質問者

お礼

ご回答ありがとうございます^^ どうしてそのままではなくて複数の処理にしなければいけないのでしょうか? カンマを省いたらスクリプトが作動しないのはわかるのですが なぜだが理由がわからないです。 またカンマの代わりに+をつかってる場合もあり、謎だらけです。

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

> "の中に"は使えないと思ったのですがなぜかあります。 ダブルクォーテーションの対ごとに文字列は終了しています。 > "のなかでは変数は文字として扱われると思ったのですが 上記通り、"のなかではないので変数として扱われています。 以下のようにカンマ毎に区切って見るとわかりやすいかな? document.write("HP:<a href='", URL, "'>", URL, "</a><br>" );

shoshosho
質問者

お礼

ご回答ありがとうございます^^ どうやら私が考えていた対とは全く違ったみたいです(^^; カンマごと区切って考えるとわかりやすくなりました。 大変参考になりました。

関連するQ&A