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で質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
正整数の半角数字かどうか判定する
-
「終了していない文字列型の定...
-
VC#でテキストボックスに変数の...
-
正規表現について
-
Access VBAで、数字だけをチェ...
-
c言語で「文字列(最大80文字)お...
-
クオーテーションの入力方法
-
文字認証の問題
-
ハイフンだけ置換したい。
-
初心者です。gulpでコンパイル...
-
javascript:void(0)とは何でし...
-
表示ページによって、aタグ内の...
-
ASPでエクセルの起動
-
C#でボタン名を変更しても動く
-
JavascriptでのExcel起動について
-
現在日付を初期値にするには
-
階層化されたメニューの作り方
-
クロスドメインでクッキーの取得
-
ネットスケープでJavaScriptの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
VB.NET2003 テキストボックスに...
-
gas 全角数字を半角数字に変換
-
「終了していない文字列型の定...
-
正整数の半角数字かどうか判定する
-
VBAによる第3、4水準文字の判定...
-
ハイフンだけ置換したい。
-
VC#でテキストボックスに変数の...
-
C#でTextBoxに数値のみ入力可能...
-
エクセル 半角英数6文字以上 ...
-
漢字などを正規表現でパターン...
-
JavaScriptに関する質問です。 ...
-
正規表現について
-
javascript 文字列の最後から1...
-
エクセルVBA/ Formatで文字列が...
-
禁止文字チェック
-
Javascript 全角カナ+半角スペ...
-
CListCtrl の特定のセル(アイ...
-
文字認証の問題
-
Access VBAで、数字だけをチェ...
おすすめ情報