JavaScriptの変数名について

このQ&Aのポイント
  • JavaScriptの変数名について初心者が質問しています。
  • 特定の変数名を使用すると正しく表示されない問題が発生しています。
  • 予約語ではないため、変数名の問題ではなさそうです。
回答を見る
  • ベストアンサー

javascriptの変数名について

javascriptの初心者なのですがよろしくお願いします。 <script type="text/javascript"> var name = ["あだち","いのうえ","うえだ","えんどう","おおの"] for(i=0; i<name.length; i++){ document.write(name[i] + "<br />") } </script> と書いたら、 あ だ ち , い の う え , う え だ , え ん ど う , お お の と縦に表示されてしまいます。。 変数名をnamaeとかに変更すると、 あだち いのうえ うえだ えんどう おおの と希望通りのかたちになるのですが、「name」は使ってはいけないルールでしたでしょうか。 予約語でもないようですし。。分からなくて質問をさせていただきました。 どなたかご教示お願いいたします><

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

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.1

Chromeの場合、「name」という名前を使うと意図しない動作になる事があるようです。(window.nameと干渉してるのかな?) IEなどでは、どちらの場合も正しく動作しますね。 参考までに、 Chrome上でnameという名前にした場合、"あだち,いのうえ,うえだ,えんどう,おおの" という1つの文字列に変換されています。 name1など他の名前にすると、 ["あだち", "いのうえ", "うえだ", "えんどう", "おおの"] という状態で格納されています。 細かい原因は分かりませんが、とりあえずnameという名前を使うのはやめておいた方が良さそうですね。

usako321
質問者

お礼

おっしゃるとおり、IE、FF、Safariいずれもちゃんと表示されました! nameは今後使わないことで覚えておくようにします。。 早々にありがとうございました!

関連するQ&A

  • javascriptで別ファイルで変数を取得する。

    A.htmlで入力した文字をB.htmlに出るようにしたいのですが、全然出ません。 アラートは表示されるのですが、入力欄に何を打っても、 namae と出てしまいます。変数に何も入ってないようです。 これを〔javascript〕って入力すれば、アラートに〔javascript〕って出るようにしたいのですが、どうしたらよろしいでしょうか? 〔A.html〕 <script type="text/javascript"> var val=namae; window.localStorage.setItem("result", val); </script> <form action="B.htm" id="form1" method="post" onsubmit="check()"> <p>名前<br><input type="text" name="namae" id="buttom" size="28" /></p> <input type="submit" value="送信"/> </form> 〔B.html〕 <script type="text/javascript"> var val = window.localStorage.getItem("result"); alert(val); </script>

  • 変数について

    htmlのソース上に変数をセットして外部javascriptでその変数を使いたいと考えています。 if(f[i].name.match(/変数を入れる/) ↑外部javascriptの//の間に変数を入れたいのですが、 外部ファイルと、htmlソースにはどのように書けばいいのでしょうか。 一応、講座等をみながら適当に以下のようにしてみましたが、駄目でした。 htmlソース <script type="text/javascript"> <!-- var myWord = "Hello"; // --> </script> <script type="text/javascript" src="name.js"> ↑の外部スクリプトには以下のように記述 if(f[i].name.match(/myWord/) javascriptはほとんど知識がないため、うまく説明できていないかもしれませんが、よろしくお願いいたします。

  • javascriptのtextbox

    こんばんは。 <html> <body> <center> <br><br> <form name="fuji"> TEXT BOX<br> <input type="text" name="tex"> </form> <SCRIPT type="text/javascript"> var i; i="ABC" document.write("<input type='button' value='↑を変数iに代入' onClick='i=(document.fuji.tex);'>"); document.write("<br><input type='button' value='表示' onClick='document.write(i);'>"); </SCRIPT> </center> </body> </html> でテキストボックスの中身を表示させたいのですが、 上手くいきません。どうすればいいのでしょうか。 また、変数を使わずに直接テキストボックスの中身を 表示させる事はできるのでしょうか。 教えてください。

  • VBscriptの配列変数をJavascriptで使うには

    下記ソースでVBscriptの配列変数をJavascriptで使うにはどうしたらいいでしょうか。 vbscriptで配列stat2(i)に値セット後javascriptで使いたい <script type="text/javascript"> <!-- //===== function test(){ var i; for (i=0;i<9;i++){ document.form1.text1[i].value=<%=stat2(i)%>; <-これだとエラー } } //====== //--> </script>

  • javascriptで別ファイルから変数を受け取る

    って方法ありますか?あったら知りたいです。 A.htmlファイル <script type="text/javascript"> var i=0; </script> B.htmlファイル <script type="text/javascript"> h=1+i; document.write("'<p>'+h+'</p>'"); </script> もう一つ、このボタンを押したらB.htmlファイルに移り、変数も一緒に移動する方法も知りたいです。 A.html <form action="B.htm" method="post" onclick="i"> <input type="submit"value="押す" onclik=""> 変数iをBに送りたいです。

  • javascript 初心者です 変数について

    javascript 初心者です 変数について html内のbodyに次のように記述しています。 <script type="text/javascript"> <!-- var hensu1=7; var hensu2=2; var hensu3=5; var hensu4=4; for(i=1;i<=4;i++){ document.write("<div>"); for(j=1;j<="hensu"+i;j++){ document.write("<img src='sample.png'/>"); } document.write("</div>"); } --> </script> for(i=1;i<=4;i++)でdivを4つ並べ、 その中にそれぞれsample.pngをhensu分だけ並べ対のですが、 for(j=1;j<="hensu"+i;j++)の部分で "hensu"+i の記述の仕方が分からず、 上記の書き方だと表示されません。 正しい書き方を教えていただけないでしょうか?

  • VBSからjavascript

    下記ソースの指定の箇所からjavascriptのfunction fun1(1)をよびたいのですがどう記述したらいいでしょうか。 (ちなみにbody onload=は使わない条件です) <%@ LANGUAGE = VBSCRIPT %> <html> <head> <script type="text/javascript"> <!-- //禁止、許可 function fun1(is){ var is; var i; var jj; jj=document.form1.text2.length; for (i=0;i<jj;i++){ if (is==1) document.form1.text2[i].disabled=true; if (is==2) document.form1.text2[i].disabled=false; } } //--> </script> </head> <html> <body> <form name="form1"> <input type="text" name="text2" size="14" maxlength="8" value="ABC"> <input type="text" name="text2" size="14" maxlength="8" value="DEF"> <% <-------------------ここでfun1(1)をよびたい fun(1)と書いてもエラー >% </form> </body> </html>

  • このJavaScriptを外部ファイルにしたいのですが

    下記のjavascript部分を外部ファイルにしてすっきり させたいのですが方法がわかりません。 どなたかよろしくお願いします。 <head> <script type="text/javascript"> <!-- var txt = new Array(4); txt[0] = "ホームページへようこそ!!"; txt[1] = "4月になりました"; txt[2] = ""; txt[3] = "お車は駐車場へ入れましょう。"; var speed1 = 50; var speed2 = 300; var i = 1; var k = 0; var j = 0; var tID1,tID2; var nai; function txtScr(){ if(k >= txt.length){k = 0;} nai = txt[k].substring(0,i); document.formd.denkou.value = nai; i++; if(i > txt[k].length){ i = 0; k++; } if(i == 0){ clearTimeout(tID1); Scr(); }else{ tID1 = setTimeout("txtScr()",speed1); } } function Scr(){ document.formd.denkou.value = nai.substring(j,nai.length); j = j + 1; tID2 = setTimeout("Scr()",speed2); if(j > nai.length){ j = 0; clearTimeout(tID2); txtScr(); } } //--> </script> </head> <body onLoad="txtScr();"> <form name="formd" action="index.html" STYLE="margin: 4px;"> <noscript class="red"> JavaScriptの表示を有効にするか<br> JavaScript対応ブラウザで見てください。<br> </noscript> <input type="text" name="denkou" value="お知らせ" size="60%" tabindex="6" accesskey="f" style="background-color:#ccffcc;color:#333333;border:0px none #ffffff;font-size:22px;font-weight:bold;"> </form>

  • グローバル変数とローカル変数について

    今JavaScriptを勉強している初心者です。 実は、ある本に書かれているソースコードでグローバル変数とローカル変数の違いがよく分からなくなりましてここに質問させて頂く次第です。 まずは、ソースコードを書きます。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <title>変数のスコープ</title> <script type="text/javascript"> function testFunc(){ var num; num=5; } </script> </head> <body bgcolor="#FFFFFF"> <p style="font-size:200%"> <script type="text/javascript"> var num=3; testFunc(); document.write(num, "<br>") </script> </p> </body> </html> このままだとブラウザに表示されるのはグローバル変数「3」になるというのも今一分からないのですが。 この次に<head>部分の var num; をコメントにします。 すると、何故かローカル変数「5」がグローバル変数になり、<body>部分のtestFunc()メソッドの結果ブラウザに表示される値が「5」になるというものです。 var num; をコメントとする事はnumは変数宣言されていないことになります。 なのに num = 5; が成り立つのもよく分かりません。 そこでアドバイスを頂きたくここに書き込む事にしました。 是非とも宜しくお願い致します。

  • javascriptでフォームの値の計算

    javascript1か月目の初心者です。 7つのテキストフィールドに数値を代入させて合計と平均(最後には標準偏差)を計算しようと思ってます。 以下のように考えましたが、うまくいきません。 strが文字列として?扱われてしまっているようです。 strをevalで囲んでみてもダメです。 詳しい方教えてください。 <!--スクリプト1--> <SCRIPT LANGUAGE="JavaScript"> <!-- function f_check() { if(document.F1.num1.value!=""&&document.F1.num2.value!=""&&document.F1.num3.value!=""&&document.F1.num4.value!=""&&document.F1.num5.value!="" &&document.F1.num6.value!=""&&document.F1.num7.value!=""){ str=0 for(var i = 0;i<document.F1.length;i++){ str+=document.F1[i].value; } alert('合計は'+str+"です"); avrg = (str)/document.F1.length; alert('平均は'+avrg+'です'); //ここから標準偏差の計算(略)。 } // --> </SCRIPT> <form method="post" name="F1" onSubmit="return f_check()"> 数値を入れてください<input type="text" name="num1" size="5"><br> 数値を入れてください<input type="text" name="num2" size="5"><br> 数値を入れてください<input type="text" name="num3" size="5"><br> 数値を入れてください<input type="text" name="num4" size="5"><br> 数値を入れてください<input type="text" name="num5" size="5"><br> 数値を入れてください<input type="text" name="num6" size="5"><br> 数値を入れてください<input type="text" name="num7" size="5"><br> <INPUT TYPE=SUBMIT VALUE="平均をとる"></FORM>

専門家に質問してみよう