• 締切済み

配列の大括弧と丸括弧はどう違う?

neue_reichの回答

回答No.1

JavaScriptの解釈はブラウザ次第ですので、FireFoxの仕様です、としか言いようがないと思います。 IEやネスケでは"[0]"で問題ないと思いますが…

zuntata99
質問者

補足

ご回答ありがとうございます。 ()や[]といった構文の根本を成す部分が、実装によってブレたりするものなのでしょうか...?? そうだ、と言われれば納得するしかないですが、 ちょっと腑に落ちないので、質問させていただきました。 他の解釈があれば、ぜひご教授お願いいたします。

関連するQ&A

  • 要素がひとつの配列は問題ありますか?

    DIVを全て非表示にし、display_listにあるものを表示させる事をしようとしています。 しかし、display_listに入れる配列の要素が一つしかないところでundefinedが出てしまい上手く行きません。 要素が一つの配列は問題ありますでしょうか? どうすれば上手く行くようになりますでしょうか? <html> <head> <script type="text/javascript"> var cat_list = ['media_type','print_type','option_opp','option_setup']; var display_list = new Array(); display_list['media_type'] = new Array(1,2); display_list['print_type'] = new Array(1,2); display_list['option_opp'] = new Array(1); display_list['option_setup'] = new Array(1); var item_list = new Array(); item_list['media_type'] = new Array('media_type_cd','media_type_dvd'); item_list['print_type'] = new Array('print_type_inc','print_type_thermo'); item_list['option_opp'] = new Array('option_opp'); item_list['option_setup'] = new Array('option_setup'); </script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript"> $(document).ready( function(){ for(var i=0; i<cat_list.length; i++){ //alert(cat_list[i]); for(var j=0; j<item_list[cat_list[i]].length; j++){ //alert(j); //alert(cat_list[i]); //alert(item_list[cat_list[i]][j]); $('#'+item_list[cat_list[i]][j]).hide(); } } for(var i=0; i<cat_list.length; i++){ //alert(cat_list[i]); for(var j=0; j<display_list[cat_list[i]].length; j++){ //alert(j); //alert(cat_list[i]); //alert(display_list[cat_list[i]][j]); //alert(item_list[cat_list[i]][display_list[cat_list[i]][j]-1]); $('#'+item_list[cat_list[i]][display_list[cat_list[i]][j]-1]).show(); } } }); </script> </head> <body> <div id="media_type_cd">media_type_cd</div> <div id="print_type_inc">print_type_inc</div> <div id="option_opp">option_opp</div> <div id="option_setup">option_setup</div> </body> </html>

  • 関数の引数に括弧を使う理由

    VBAを使っていて 関数fffに引数として配列aaaを入れたいとします。 通常 fff(aaa) と指定するところですが fff(aaa()) と括弧を付けて指定する場合もあるようです。 このように括弧を付けるのはどういう理由があったでしょうか?

  • 配列の検索

    今配列の中にIDとsp(speak)というものが入っていて、それのsp部分に入っている言葉検索したいんですがjavascript初心者のためやり方がわかりません。とりあえずarray配列を使っていれて 例えばchat_mss[0]にはchat_mss[0].idはidの1がはいっていてchat_mss[0].spにはhelloと入っています。このときに 入力方の検索でhと打ち込んだらhがつくものを全部出すことができますかこれができないと大学卒業できないのでぜひ力を貸してください。 わかる人はソースなど書いてほしいです。 参考にソースを載せます。english_list.phpはMysqlからIDとspををもらっています。 var chat_mss = new Array(); function chat_mss_atribute(){ } function english_speak(){ //alert(msg); var url='english_list.php'; //alert(pars); var myAjax = new Ajax.Request( url, {method: 'post', onComplete: add_to_array } ); } function add_to_array(english_msg_list){ var curr_english_msg= english_msg_list.responseText; //alert(curr_english_msg); var msg_show = curr_english_msg.split("\n"); //alert(msg_show[2]); var ln = msg_show.length; //alert(ln); for (i = 0; i < ln-2; i++){ var english_show = msg_show[i].split(","); //alert(english_show[1]); chat_mss[i] = new chat_mss_atribute(); chat_mss[i].id=english_show[0]; chat_mss[i].sp=english_show[1]; alert(chat_mss[i].id); alert(chat_mss[i].sp); } check_msg(); }

  • div要素で定義された配列変数間の値引き渡し

    div要素のid名と値を配列[id名,値]で定義して、親htmlと子iframe間で同名の変数の引き渡しを行なっています。 数が多いのでfor文で実施したいのですがうまくいきません。 間違いを正していただけませんでしょうか。 var arr = [ ["b01", b01], ["b02", b02], ["b03", b03],    ・    ・ ]; // iframeの呼び出し var doc = document.getElementsByTagName("iframe")[0].contentWindow; // iframe内div要素の値取得、親の変数に代入 for (var i = 0; i < arr.length; ++i) { arr[i][1] = doc.document.getElementById(`"${arr[i][0]}"`).innerHTML; } 意図としては上のような形にしたいのですが、これではうまくいきません。 おそらく`"${arr[i][0]}"`の部分がいけないのだと思います。 alert(`"${arr[0][0]}"`)の結果は意図どおり"b01"と出力されます。 もちろん以下であれば変数がきちんと渡ります。 var b01 = doc.document.getElementById("b01").innerHTML; var b02 = doc.document.getElementById("b02").innerHTML; var b03 = doc.document.getElementById("b03").innerHTML;    ・    ・ よろしくお願いします。

  • 配列の特定の位置から別の配列をマージする方法

    テトリスを作成しています。listという配列の3番目(インデックスの)を始点として、minoという配列をマージしたいです。このような場合の記述方法がわかりません。 以下がコードですが、どうやって始点を指定するのでしょうか。 list[3]を始点とします。 var list = [1,0,0,0,0,0,0,1] var mino = [2,2] func _ready(): #3番目からスタート for i in range(mino.size()): list[i] = mino[i] print(list) 得たい結果はこうです。ヒントだけでも貰えればと思います。 [1,0,0,2,2,0,0,1]

  • 配列の比較について

    Javascritpで配列全体の比較を行いたいのですが 下の結果が「違います」のように表示させたいのです。 比較の部分はどのように書いたらよいのでしょうか? var a1 = new Array(); var a2 = new Array(); a1['a'] = 1; a1['c'] = 2; a2['a'] = 1; a2['c'] = 3; //=========== 以下の配列の比較方法 if (a1 == a2){ alert('同じです'); } else { alert('違います'); }

  • 【DOM】HTMLのタグに対してはElementインターフェースが使えない?

    HTMLの「document」はXMLDocumentと完全に見立ててDOMを利用できないのでしょうか? <html>   <style>     .foo{       background: #999999;     }   </style>   <body>     <input class="foo" type="text" value="NNNN"/>   </body>   <script language=JavaScript type=text/javascript>   function hoge(){     var Nodes;     Nodes = document.getElementsByTagName("input");     alert(Nodes.item(0).nodeName)     alert(Nodes.item(0).getAttributeNode("class"))     alert(Nodes.item(0).hasAttributeNode("class"))   }   hoge();   </script> </html> 上記のようなコードを書いてもアラートに「foo」と表示されません。 また、hasAttributeNodeにおいては全く反応がありません。 DOMのElementインターフェースが使えないとすれば、 JavascriptからclassやonClickのイベントハンドラなど、 属性を動的に変更するにはどうすればいいでしょうか? 制限事項としてid属性やname属性は使用できません。 IE6での使用です。 以上、よろしくお願いします。

  • 今日は、jQueryのしめ括弧を通れません。

    JavaScript初心者です。環境は、WIN7、ブラウザは基本、Chromeです。 function menudo() { var menus=$("h4").length; var m=new Array(menus); for (var i=0;i<menus;i++) { var stoc="#t"+i;var stoc2="tt"+i; m[i]=$("h4",stoc).html(); m[i]="<span class='formenu' id='"+stoc2+"'>"+m[i]+"</span>"; $(m[i]).appendTo("#topmenu");  } $('.formenu').click(function(){  memoa=$(this).attr('id'); memoa=memoa.substring(1,4);  // selectPage('sub1'); alert("ちゃんと来てる場合は"+memoa); }); } 製作中のプログラムの関数に、このように最後にalertを差し込んで、ここまでは動いていることを確認しました。 ところが、}); jQueryの占め括弧の後ろにこの確認alertをカットぺすると、今度はalertが出てこず、そこに来ていないようなのです。最後の間際のサブルーチンが何か怪しいと思いひとまずコメント化で無効にしてみても同じです。jQueryの閉め括弧の前と後ろで、何が違うのでしょうか?当然、ここを通ってくれないと、以下のプログラムが動きません。どう直せばいいのでしょうか? ついでに、奇妙なんですが、前日は問題なく通れていて、この後のプログラムも一応、製作途上の不完全ながら、動いていたのです。それが今日は絶対に通れない、ということなど、あるのでしょうか? 詳しい方、教えてください。

  • 正規表現でdivタグを親要素ごとに配列に格納したい

    divタグを親要素ごとに配列に格納することは可能でしょうか? <div id="1">1<div id="2">2<div id="3">3</div>2</div>1</div> <div id="4">4<div id="5">5</div>4</div> <div id="6">6</div> 配列の中は [0] <div id="1">1<div id="2">2<div id="3">3</div>2</div>1</div> [1] <div id="4">4<div id="5">5</div>4</div> [2] <div id="6">6</div> このような配列の結果が出てほしいです。

    • ベストアンサー
    • PHP
  • javascriptについて教えてください。

    divのボタンを作りたいと思い、調べながらjQueryを使う方法は以下のようにしたらいい事は分かったのですが、jQueryを使わずにしようと思い $(function(){ $("div").click(function(){ var x = this.id; alert(x); }); }); の部分を document.getElementsByTagName("div").onclick = function(){ var x = this.id;  alert(x); }; としてみたのですが、うまくいきません。jQueryを使わずに同じようなボタンを作るにはどうしたらいいのでしょうか? <!doctype html> <html> <head> <meta charset="UTF-8"> <title>無題ドキュメント</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js"></script> <script type="text/javascript" language="javascript"> $(function(){ $("div").click(function(){ var x = this.id; alert(x); }); }); </script> </head> <body> <div id="aaa" class="div_link">a</div> <div id="bbb" class="div_link">b</div> <div id="ccc" class="div_link">c</div> <div id="ddd" class="div_link">d</div> <div id="eee" class="div_link">e</div> </body> </html>