以下のように変数の練習をしていたのですが、document.aaa.y.valueを右辺に持ってこないやり方っていうのはあるのでしょうか?
また、ifの中身についてなのですが、一応これでも動くんですけど文法的にはどうなのでしょう?お願いします
<html>
<head>
<title>変数の練習</title>
<script language="JavaScript">
<!--

function test()
{
var x= document.aaa.y.value;
document.aaa.y.value=x*1+1;

if (document.aaa.y.value == "10") {
document.aaa.y.value=0;
}
}
//-->
</script>
</head>
<body>
<form name="aaa">
カウント:<input name = "y" value=0>
<input type="button" value ="+1" onClick = "test()" >
</form>
</body>
</html>

このQ&Aに関連する最新のQ&A

A 回答 (2件)

おはようございますtomo-naoさん、xruzです。


基本的にはleaz024さんの言われる通り問題はありません。

ただ厳密に言うと、
<input type="button" value ="+1" onClick = "test()" >
でvalue値には文字列の+1が入っています。
従ってvar x= document.aaa.y.value; は
var x=parseInt(document.aaa.y.value); と整数値変換します。
(この場合次の行で無理やりx*1というような数値変換は不要です。)
if (document.aaa.y.value == "10") { では文字列比較をしていますので
document.aaa.y.value=x*1+1; は
document.aaa.y.value=(x*1+1).toString(); と文字列変換します。

まぁ、普通はこんなこと考える必要はないと思われますがスクリプトの
動きが「おかしいな」と思ったときには頭の片隅から引っ張り出してください。

がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

パソコンの調子が悪くてお礼が遅くなってしまい申し訳ありませんでした!!詳しく答えて下さって本当にありがとうございました★整数値変換とか文字列変換っていうのがあるんですね!知らなかった~便利ですねアレ。これから使ってみようかな(^_^)ありがとうございました。大変勉強になりました☆

お礼日時:2001/12/08 23:22

> document.aaa.y.valueを右辺に持ってこないやり方


これって、どこのことを言っているのでしょうか?
右辺にせずに、変数 x に値をコピーしたいというのであれば、それは不可能です。
もし x を使わずに値を1増やしたいというのであれば、
  document.aaa.y.value++;
か、
  ++document.aaa.y.value;
でOKです。

> ifの中身について、文法的にはどうなのでしょう?
文法は問題ないですよ。
ただ、結構document.aaa.y.valueがあちこちにいるので、減らす工夫をした方が良いように思います。
折角、変数 x に値をコピーしたのだから、チェック等も x で行い、最終的に求まった値をdocument.aaa.y.valueに戻してやるとか。
  function test() {
    var x = document.aaa.y.value;
    x++;
    if (x == 10) {
      x = 0;
    }
    document.aaa.y.value = x;
  }

また、変数 x を使わない、こんな方法もあります。
  function test() {
    if (++document.aaa.y.value == 10) {
      document.aaa.y.value = 0;
    }
  }
    • good
    • 0
この回答へのお礼

パソコンの調子が悪くてお礼が遅くなってしまい申し訳ありません!!丁寧に答えて下さってどうもありがとうございます☆
x = document.aaa.y.valueとdocument.aaa.y.value = xって意味的に違うんですね!!勉強になりました。ほんとにどうもありがとうございました

お礼日時:2001/12/08 23:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qタイトルについて

こんにちは。よろしくお願いします。

HPビルダーで商用のHPを作成しています。
検索ロボットにひっかかるように、タイトルやキーワードをタグ入力?していますが、うまくいきません。

<TITLE>○○のお店</TITLE>
↑このタグを入れると、画面最上に「○○のお店」と表示されるようになりますよね?
それが、ビルダーのページ編集中には正常に表示されるのですが、いざアップロードすると表示されません。ソースを見てみても、ビルダーで入力したはずのタイトルやキーワードがみあたりません。
ただHPのアドレスが表示されているだけで・・・
何故なんでしょうか・・・

あまりPCに詳しくないので説明が下手でごめんなさい。
どなたか教えて下さい!!

Aベストアンサー

ソース拝見しました。
ブラウザの一番上、ホームページタイトルにあたるところに表示されないと言うご質問ですよね?

えと、表示されました。
IE6、Firefox、ネスケ7、Opera全て問題なかったです。
どのブラウザで、表示されませんでしたか?
できれば、全部見たいところです。差し支えなければ、アップロード済みのURLを教えてください。

#これは質問とは関係ありませんが、ソースに同じことが何度も書かれていて、無意味な箇所があります。
できる限り整斉しましょう。
⇒4行目の文字コードの箇所、19行目と23行目にも同じ内容が。
21行目と24行目も同じですし、20行目と25行目も…。

Qタイトルを文書内に表示

<TITLE>タイトル</TITLE>を文書内に表示するにはどうしたらよかったでしょうか。
タイトルバーだけでなく、文書の先頭にも表示させたいのですが、javascriptで可能でしょうか。

#HTMLでも可能だったりして?

Aベストアンサー

素直に<BODY>タグの中に<H1>や<FONT size="+3">などを使ってもう一度書いたらどうでしょうか。

変にこってJavascriptやらなんやらを使ってもJavaを使えないブラウザの人には見えませんし、素直に書いてやるのが一番だと思います。

Q