Smessage = Smessage.substring(2,Smessage.length) + Smessage.substring(0,2);の部分ですが、動きがイマイチわからないです。
substringで配列2つ目(= S2)とlengthで持ってきた値=4(だがsubstringの終了インデックスはその前の数字を考えるので3つ目= S3)を抜き出し、2つ目のsubstringで配列0番目(= S1)=と2番目(= S3)を抜き出し、
結果S2とS4 + S1とS3をSmessageに代入しているんですか?
順番としてはS2が最初に来て次にS4、 S1最後にS3が来るのではないんですか?
でも実行結果はS1、S2、S3、S4と順番通りになっています。この辺が良くわかりません。
<!DOCTYPE HTML>
<html><head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<script type="text/javascript">
<!--
var TC = 0 ;
var S1 = "1つ目の空白 ";
var S2 = "2つ目の空白 ";
var S3 = "3つ目の空白 ";
var S4 = "ここにメッセージ......。";
var Smessage = S1+S2+S3+S4;
var timeID=setTimeout("",1) ;
function Message() {
if (TC < 1000) {
TC++ ;
window.status = Smessage;
Smessage = Smessage.substring(2,Smessage.length) + Smessage.substring(0,2);
clearTimeout(timeID)
timeID = setTimeout("Message()",300);
}
else { window.status = " " }
}
//-->
</script>
<style type="text/css">
<!--
body { background-color: #AFEEEE; }
-->
</style>
</head>
<body onLoad="Message()">
★ステータス行に文字を流してます
</body></html>
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> Smessage.substring(2,Smessage.length) の()内は2と1つ目の空白 からここにメッセージを数えた文字数が入るのでしょうか?
> 次のsubstring(0,2)は0番目から2番目の文字なので、「1・つ・目」の3文字?
これくらいは、自分で調べましょう。
・マニュアルや解説サイトを探して、読む。
・alertやデバッガを使って確認する。
など。
例えば上のプログラムの該当個所周辺を
window.status = Smessage;
// デバグ用
alert(Smessage);
alert(Smessage.length);
alert(Smessage.substring(2,Smessage.length)) ;
alert(Smessage.substring(0,2));
//
Smessage = Smessage.substring(2,Smessage.length) + Smessage.substring(0,2);
// デバグ用
alert(Smessage);
//
とでもすれば、その2つの質問への答えになるはずです。
この回答への補足
返事が遅れました。
変数の文字列を同じにして考えていたのがバカでした。
var Sm1 = "01つMe";
var Sm2 = "2tsu目";
var Sm3 = "3津メ";
var Sm4 = "ここにメッセージを入れます......。";
とし、 さらに
Smess = Smess.substring(2,4) + Smess.substring(0,2);
とし、時間もtimeID = setTimeout("Mess()",5000);
のようにゆっくりにしてalertで試してみるべきでした。
検証不足は申し訳ないです。
ただそれでもすいません。まだ、仕組みが解ってません。
なぜ文字がずれているのですか?
substiringは完全に取り除くと言うイメージですか?
1回目のアラートで
つM01
これはわかります。
でも2回目のアラート
01つM
になぜなるのかわかりません.
それとlengthが間に入っているのがややこしいです。
No.2
- 回答日時:
> substringで配列2つ目(= S2)
からして間違いです。
var Smessage = S1+S2+S3+S4;
はS1とS2とS3とS4を連結して一つの文字列にするもの。
var S1 = "1つ目の空白 ";
var S2 = "2つ目の空白 ";
var S3 = "3つ目の空白 ";
var S4 = "ここにメッセージ......。";
だから
var Smessage = "1つ目の空白 2つ目の空白 3つ目の空白 ここにメッセージ......。";
になる。
Smessageは配列ではない。
文字列.substringは、文字列の一部を切り出して、新しい文字列にするもの。
マニュアルなどに書いてある「インデックス」は「何文字目」というのとほぼ同義。
「インデックス0番目の文字」=「一文字目」
この回答への補足
こちらへの回答も有難うございます。
Smessage.substring(2,Smessage.length) の()内は2と1つ目の空白 からここにメッセージを数えた文字数が入るのでしょうか? 次のsubstring(0,2)は0番目から2番目の文字なので、「1・つ・目」の3文字?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
C#テキストボックスの文字を配...
-
undefinedを表示させない方法は...
-
JavaScriptでの動的な多次元配...
-
WSH(Jscript)でファイル一覧
-
javascript 変数名の連結をしたい
-
javascriptで行を抽出したいです。
-
1から20までの整数から、重複な...
-
React hooksが値を返して配列変...
-
gas 配列
-
JavaScriptで二次元配列?
-
<a>タグのテキストを取得
-
JavaScriptで文字列の特定文字...
-
javascriptとphpの連携で疑問
-
Latexに関する質問です。
-
window.openでタイトル名の指定
-
Boolean型配列中のTrueの有無を...
-
ActiveXobjectが作成できない
-
翌月を取得するGASが分かりません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
javascriptで行を抽出したいです。
-
二次元配列の全要素の全要素を...
-
JavaScriptにおける[] とか :...
-
JavaScriptでの動的な多次元配...
-
順列生成アルゴリズムについて...
-
WSH(Jscript)でファイル一覧
-
JavaScriptからPHPに配列を渡す...
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
textareaに入力されたデータを...
-
どうすればresponseText結果を...
-
オブジェクトから任意のプロパ...
-
フォーム入力値の重複チェック
おすすめ情報