
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>
No.1ベストアンサー
- 回答日時:
スラッシュと¥マークは同じです。
¥マークを外国フォントで見るとスラッシュになり、スラッシュを日本語フォントで見ると、円マークになるだけです。
¥マークをいれるのは、ダブルコーテーション「””」と関係しています。
ご存知のように、”は、文字列などを開始するときに「”」を使用して、閉じるときにも「”」を使用するのですが、ではこの「”」から「”」の間に「”」という文字を表示する場合はどうするのでしょうか?
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
□■
■ たとえば、「”」という文字を表示したい!
□
document.write(" " "); あれ? これじゃ1個目と2個目で文字列が閉じちゃうので、3個目はエラーだな~、ああそっか~。
document.write(" \" "); こういうふうにすると、2個目の「"」はタダの文字と解釈されるから、文字列を勝手にとじちゃうという現象を回避できるのか~
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
このように普通に¥マークを使用せずに書いてしまうと、文字列を閉じてしまうことになります。
このような困った現象を回避するために、\"という書き方(文法的な意味で解釈せずに、そのまんまただの文字「”」として解釈してくれが用意されています。
¥マークを極力するなくしたい場合には、シングルクォーテーションを使用すれば良いと思います。
今「\"」という2つの組み合わせを「'」という文字に変えればうまく行くと思います。
ダブルコーテーションの中に、シングルコーテーションがあることや、シングルコーテーションの中に、ダブルコーテーションがあることは¥を使用せずともちゃんと思い通り解釈されます。
問題となるのは、ダブルコーテーションの中にダブルコーテーションを使う場合や、シングルコーテーションの中に、シングルコーテーションを使う場合などです。
懇切で分りやすいご説明をいただいて、おかげさまで、今回おたずねした点については全て解決しました。
大変ありがとうございました。
『 ¥マークをなくしたい場合には、「\"」という2つの組み合わせを「'」という文字に変えれば 』
というやり方についても、実際に試してみまして、それでうまくいくことが分りました。
No.4
- 回答日時:
これはJavaScript文法上、エスケープシーケンスといわれるもので、「\"」の2文字セットで「"」という文字を表します。
「"」単独では、文字列の区切りを意味するため、「"」という文字そのものを扱いたい場合、直前に「\」をつけます。また、『「欧米(ISO-8859-1)」に切り替えてソース表示してみましたら、 その部分は、「逆スラッシュ」』とありますが、一般の欧米環境での「逆スラッシュ」と日本語環境での「¥」は、同じ文字コードが割り当てられていて、利用する環境によって表す文字が違うことになります。
補足ですが、エスケープシーケンスには他に、改行を意味する「\n」、タブ文字を意味する「\t」などがあります。
エスケープシーケンスについて解説いただいて、ありがとうございました。
「\"」の2文字がセットということには気付きませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookのアカウントがあるとメ...
-
jsonテキストデータの並び替え...
-
jsで、配列内の文章を改行する...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Adobe acrobat proでフォームを...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET2003 テキストボックスに...
-
正整数の半角数字かどうか判定する
-
VBAによる第3、4水準文字の判定...
-
エクセルVBA/ Formatで文字列が...
-
JavaScriptでこの正規表現を利...
-
文字認証の問題
-
「終了していない文字列型の定...
-
正規表現について
-
ハイフンだけ置換したい。
-
JavaScriptでフォームの入力項...
-
Vba SelStart、SelLen教えてく...
-
禁止文字チェック
-
gas 全角数字を半角数字に変換
-
VC#でテキストボックスに変数の...
-
CListCtrl の特定のセル(アイ...
-
漢字などを正規表現でパターン...
-
C#でTextBoxに数値のみ入力可能...
-
Access VBAで、数字だけをチェ...
-
エクセル 半角英数6文字以上 ...
-
”吴”とはなんですか?
おすすめ情報