-PR-
解決
済み

「\マーク」で表示される部分の意味は?(JavaScript)

  • すぐに回答を!
  • 質問No.68919
  • 閲覧数703
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 62% (563/895)

JavaScript の独習を始めたところなんですが、
あるスクリプトを解読しようとしていましたら、以下のように「\ マーク」がいくつも現れる部分が出てきました。

どうも外国で書かれたスクリプトのようで、
Netscape Communicator で文字コードを「欧米(ISO-8859-1)」に切り替えてソース表示してみましたら、
その部分は、「逆スラッシュ」で表示されました。

こういった部分については、JavaScriptの文法ではどのように理解しておけばいいんでしょうか?
それと、見やすいように普通のスクリプトに書き替えたりというようなことはできますでしょうか?

----------
<SCRIPT language="JavaScript1.2">
  ……
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 500px; LEFT: 15px;\"><img src=\"" + balloon[j] + "\" border=\"0\"></div>");
  ……
</SCRIPT>
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル11

ベストアンサー率 61% (157/255)

スラッシュと¥マークは同じです。
¥マークを外国フォントで見るとスラッシュになり、スラッシュを日本語フォントで見ると、円マークになるだけです。
¥マークをいれるのは、ダブルコーテーション「””」と関係しています。
ご存知のように、”は、文字列などを開始するときに「”」を使用して、閉じるときにも「”」を使用するのですが、ではこの「”」から「”」の間に「”」という文字を表示する場合はどうするのでしょうか?

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
□■
■ たとえば、「”」という文字を表示したい!


document.write(" " "); あれ? これじゃ1個目と2個目で文字列が閉じちゃうので、3個目はエラーだな~、ああそっか~。
document.write(" \" "); こういうふうにすると、2個目の「"」はタダの文字と解釈されるから、文字列を勝手にとじちゃうという現象を回避できるのか~

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

このように普通に¥マークを使用せずに書いてしまうと、文字列を閉じてしまうことになります。
このような困った現象を回避するために、\"という書き方(文法的な意味で解釈せずに、そのまんまただの文字「”」として解釈してくれが用意されています。

¥マークを極力するなくしたい場合には、シングルクォーテーションを使用すれば良いと思います。

今「\"」という2つの組み合わせを「'」という文字に変えればうまく行くと思います。

ダブルコーテーションの中に、シングルコーテーションがあることや、シングルコーテーションの中に、ダブルコーテーションがあることは¥を使用せずともちゃんと思い通り解釈されます。
問題となるのは、ダブルコーテーションの中にダブルコーテーションを使う場合や、シングルコーテーションの中に、シングルコーテーションを使う場合などです。
お礼コメント
mayapapa

お礼率 62% (563/895)

懇切で分りやすいご説明をいただいて、おかげさまで、今回おたずねした点については全て解決しました。

大変ありがとうございました。

『 ¥マークをなくしたい場合には、「\"」という2つの組み合わせを「'」という文字に変えれば 』
というやり方についても、実際に試してみまして、それでうまくいくことが分りました。
投稿日時 - 2001-05-01 16:47:15
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.2
レベル3

ベストアンサー率 0% (0/1)

文字列「"」を表示させる意味だと思いますが? ...続きを読む
文字列「"」を表示させる意味だと思いますが?
お礼コメント
mayapapa

お礼率 62% (563/895)

早速の回答をありがとうございました。
投稿日時 - 2001-05-02 12:50:24


  • 回答No.3
レベル10

ベストアンサー率 37% (43/115)

「エスケープ文字」なんて呼び方をします。 つまり、「\」の次にくる「"」は普通に表示したい文字であって、 プログラムとしては理解しないでね~ って感じの意味です。 ...続きを読む
「エスケープ文字」なんて呼び方をします。
つまり、「\」の次にくる「"」は普通に表示したい文字であって、
プログラムとしては理解しないでね~
って感じの意味です。
お礼コメント
mayapapa

お礼率 62% (563/895)

早速の回答をありがとうございました。
投稿日時 - 2001-05-02 12:49:58
  • 回答No.4

 これはJavaScript文法上、エスケープシーケンスといわれるもので、「\"」の2文字セットで「"」という文字を表します。「"」単独では、文字列の区切りを意味するため、「"」という文字そのものを扱いたい場合、直前に「\」をつけます。  また、『「欧米(ISO-8859-1)」に切り替えてソース表示してみましたら、 その部分は、「逆スラッシュ」』とありますが、一 ...続きを読む
 これはJavaScript文法上、エスケープシーケンスといわれるもので、「\"」の2文字セットで「"」という文字を表します。「"」単独では、文字列の区切りを意味するため、「"」という文字そのものを扱いたい場合、直前に「\」をつけます。
 また、『「欧米(ISO-8859-1)」に切り替えてソース表示してみましたら、 その部分は、「逆スラッシュ」』とありますが、一般の欧米環境での「逆スラッシュ」と日本語環境での「¥」は、同じ文字コードが割り当てられていて、利用する環境によって表す文字が違うことになります。
 補足ですが、エスケープシーケンスには他に、改行を意味する「\n」、タブ文字を意味する「\t」などがあります。
お礼コメント
mayapapa

お礼率 62% (563/895)

エスケープシーケンスについて解説いただいて、ありがとうございました。
「\"」の2文字がセットということには気付きませんでした。
投稿日時 - 2001-05-02 12:46:54
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ