javascriptのインデックス番号とdocument.cookieの一文について

このQ&Aのポイント
  • javascriptに関連する2つの質問について説明します。一つ目は、javascriptのインデックス番号についてです。通常は[0]、[1]のように数字で要素を指定しますが、オブジェクト名を[]内に入れることも可能です。二つ目は、document.cookieに関する一文についてです。この一文は、特定の値をcookieに保存するためのものです。ASH_jscの部分以降は、文字列として扱う必要があり、両辺に+を付け加えることで文字列の結合を行っています。
  • javascriptに関する質問を2つお伺いしました。一つ目は、javascriptのインデックス番号についてです。通常は[0]、[1]のように数字で要素を指定しますが、オブジェクト名を[]内に入れることも可能です。二つ目は、document.cookieに関する一文についてです。この一文は、特定の値をcookieに保存するためのものであり、値の結合には+が使用されます。
  • javascriptに関する質問を2ついただきました。一つ目の質問は、javascriptのインデックス番号についてです。通常は[0]、[1]のように数字で要素を指定しますが、オブジェクト名を[]内に入れることもできます。二つ目の質問は、document.cookieに関する一文についてです。この一文は、特定の値をcookieに保存するためのものであり、値の結合には+が使用されます。
回答を見る
  • ベストアンサー

javascriptに関しまして。

javascriptに関しまして。 javascriptに関してお聞きしたいことが2点ほどあります。 (1)javascriptのインデックス番号は[0],[1],[2],[3]という番号だけでなく []内にオブジェクト名を入れても参照できるのでしょうか。 (2)document.cookie = "ASH_jsc=" + str + "; exp=" + ex.toGMTString(); という一文を見つけたのですが、 (I)なぜ、ASH_jscの部分だけでなく=部分まで文字列 として扱う必要があるのでしょうか? (II)+ str +の部分は何のために両辺に+を付け加えているのでしょうか・・? 初歩的な質問ですみません。 詳しい方がいらっしゃいましたら、お願い致します。

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

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.3

> (1) javascriptのインデックス番号は[0],[1],[2],[3]という番号だけでなく、[]内にオブジェクト名を入れても参照できるのでしょうか。 値が「文字列」であればプロパティとして指定できます。 11.1.5 オブジェクト初期化子 - ES3 (ja) http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.1.5 Objects and Properties - MDC https://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Objects_and_Properties > (2) document.cookie ... なぜ、ASH_jscの部分だけでなく=部分まで文字列として扱う必要があるのでしょうか? Set-Cookie に依存するためです。 [Studying HTTP] HTTP Cookies http://www.studyinghttp.net/cookies#Header

DELICUS
質問者

お礼

参考URLまで付けて頂きありがとうございます! また宜しくお願い致します☆

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>(1) 0からはじまる序数でインデックスされるオブジェクトはarray=配列ですね 適当な名前をキーに持つ場合はobjectとして別物として管理されます。 配列にはlengthなど通常objectでは設定されないアクセスの仕方があるので 使い分けが必要です >(2) クッキーの仕様を理解しない話になりません。 参考書でも適当なWEBサイトでもいいので、クッキーがどのように格納されていて どのように参照され、どのように削除されるかなど一通りの動きを理解すれば 提示の書式にも理解がいたると思います。

DELICUS
質問者

お礼

ありがとうございます! またお願い致します。

回答No.1

1.連想配列ですね。できますよ。 3. "ASH_jsc=" と "; exp=" は文字列ですが str は変数です。( " で囲まれていませんよね?)   なので一つの文字列として扱い、document.cookieに代入するためにそれらの文字列を+で連結しています。   例えばこれが決まった文字列であれば最初から一気に   "ASH_jsc=〇〇〇; exp="   と書けるのですが、この場合は変数として扱っているので一度に書けません。

DELICUS
質問者

お礼

分かりやすい回答ありがとうございます! また宜しくお願い致します☆

関連するQ&A

  • javascriptのドキュメントについて

    javascriptのドキュメントについて 純粋なjavascriptの関数やオブジェクトの DocumentはWeb上ではどこで参照可能ですか? 純粋なとはjsonやjqueryなどのフレームワーク 的なもののドキュメントではない標準のjavascriptということです。

  • JavaScriptによるクッキーの書込みについて

    JavaScriptによるCookieの書込みで以下のようにhtmlにはりつけているのですが、どうしてもpath=/が有効になりません。 書き込まれたクッキーをみるとクッキーを書き込むディレクトリになってしまいます。 <script type="text/javascript"> <!-- var limit = 1; //有効期限日数をいれる exp=new Date(); exp.setTime(exp.getTime()+1000*60*60*24*limit); var no = '01010088'; var img_url = './0101/img/0088/01010088i.gif' var url= './0101/01010088.html'; var itemname= '遠赤外線セラミックの竈(かまど)炊き風炊飯鍋と御櫃(おひつ)セット'; var price = '7960'; var souryou = '700'; setCookie(no,'img:' + img_url +',url:' + url + ',itemname:' + itemname + ',price:' + price + ',souryou:'+ souryou +',',exp); function setCookie(key, val, val_exp,tmp) { tmp = key + "=" + escape(val) + "; "; tmp += "expires= " + val_exp.toGMTString(); + "; "; tmp += "path=/;"; document.cookie = tmp; } // --> </script> 書籍をいろいろみたのですがクッキーについて詳しくかいているのがあまりなくて・・・ ご教授お願いします。

  • javascriptでcookieを削除するには

    以下のようにjavascriptでcookieを削除できると 思いますが、この方法だと IE以外のブラウザは削除できてないようです。 FIREFOXとOPERAは削除できませんでした。 javascriptでFIREFOXとOPERAでもクッキーが削除 できるような方法がありましたらご教授願います cName = "○○○○="; // 削除するクッキー名 dTime = new Date(); dTime.setYear(dTime.getYear() - 1); document.cookie = cName + ";expires=" + dTime.toGMTString();

  • JavaScript内からJavaScriptを書き出したいのですが

    こんにちは. JavaアプレットとJavaScriptを利用してJavaScriptを書き出すコードを書いてみたのですが,うまく動きません.具体的なコードは以下のようで,リンクはできるのですが,マウスを乗せるとオブジェクトを指定してくださいとエラーがでます.innerHTMLでJavaScriptを書き出すことはできないのでしょうか? <html> ・・・ <body> <SCRIPT language="JavaScript" type="text/javascript"> <!-- function dWrite(){ str='<script type="text/javascript">functionLinkMo(){varLM1;LM1=window.open"","Doc","toolbar=no,location=no,kdirectories=no,width=300,height=250");LM1.document.write"<html><head><title></title></head><body>testです/body></html>");LM1.document.close();}</script><body>rinku <ahref="#"onMouseOver="LinkMo()">ここにのせると</a></body></html>'; document.getElementById("here").innerHTML=str;} //--> </script> <applet ・・・dWriteを呼び出す></applet> <div id="here" style="position:absolute;width:600px; left:0px;top:0px;"> </div></body></html>

  • JavaScriptが参照する要素名が配列の場合は?

    下記に示すようなリンクをクリックすると入力欄に入力されるjavascriptを作っているのですが、inputのname属性が配列になっているとうまく参照してくれません。 フォームの生成や送信内容の処理が配列だと都合がよく、なんとかできないかと悩んでいます。html側の要素名を変えずにjavascriptに参照させる方法はないでしょうか。 うまくいく場合の抜粋 function f1(VALUE){ if(!document.MyForm.str1.value){ document.MyForm.str1.value = VALUE; } } <input name="str1" type="text" /> <a href="javascript:f1('単語');">単語</a> うまくいかない場合の抜粋 function f2(VALUE){ if(!document.MyForm.str[1].value){ document.MyForm.str[1].value = VALUE; } } <input name="str[1]" type="text" /> <a href="javascript:f2('単語');">単語</a>

  • PHP内にJavaScript

    下記のようなはじめての訪問者に対してようこそ!と表示するJavaScriptをPHP内で動かすにはどのように記入すればよいのでしょうか? ==================================================== <script language="JavaScript"> var key = "freekeyword"; var n = 0; var cookies = document.cookie.split("; "); for(var i=0;i<cookies.length;i++){ var str = cookies[i].split("="); if(str[0] == key){ // n = str[1]; } } window.onload = function() { if(n == 0){ document.getElementById('welcome').innerHTML = 'ようこそ!'; } n++; setCookie(key,n); } function setCookie(key,val){ document.cookie = key + "=" + escape(val) + "; "; } </script> ==================================================== このスクプリトを下記<head>内にどのように記入すればよいので しょうか? PHPの文法などほとんど分からないレベルなのでそもそも質問 自体間違ってるかもしれませんがPHP内で同様の動作をさせたい のです。よろしくお願いします ==================================================== <?php echo ' <html> <head> </head>'; echo ' <body> <div id="welcome"></div> </body></html>'; ?> ====================================================

    • ベストアンサー
    • PHP
  • JavaScriptのことで教えて!

    1シートにJavaScriptを2つ使うことは出来ないのでしょうか? 画像が点滅するJavaScript と画像が入れ替わるJavaScript 両方を1シートで使用できませんか? この部分は入力できるのですが <SCRIPT language="JavaScript"> <!-- num = 2; // 入れ替える画像の枚数(最初の画像も含める) nme = "../img/img" // 画像のディレクトリとファイル名の数字と拡張子より前の部分 exp = "jpg" // 拡張子 cnt = 0; function changeImage() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; } //--> 勿論、点滅のJavaScriptも記載済みです。 ところが、 <BODY onload="blink()"> <BODY bgcolor="#ffffff" onLoad="setInterval('changeImage()',1000)"> このように並列して書くとエラーになります。 2つのavaScriptは使用できないのでしょうか? 精通されている方、居られましたら宜しくご指導願います。

  • javascriptでのcookieについて

    javascriptでアクセスする人にcookieをつけるようにしています。 cookieの情報をサイト内(同一ドメイン内)で共有したいので、path=/ をつければ良いと思うのですが、以下のソースの場合、どのように記載すればよいでしょうか? <!-- theName="onload_texta="; theday=90; //---------------------------------------------- function onload_text_set(){ theCookie=document.cookie+";"; start=theCookie.indexOf(theName); if(start !=-1){ end=theCookie.indexOf(";",start); theData=theCookie.substring(start+theName.length,end); document.showform.showcheck.checked=(theData=="t")?true:false; if(theData=="f") document.getElementById('show').style.display='block'; else document.getElementById('show').style.display='none'; } else document.getElementById('show').style.display='block'; } function onload_text_close(){ myData="";setDay=new Date(); myData=(document.showform.showcheck.checked==true)?"t":"f"; setDay.setTime(setDay.getTime()+(theday*1000*60*60*24)); document.cookie=theName+myData+";expires="+setDay.toGMTString(); } onload=onload_text_set; onunload=onload_text_close // -->

  • CSSのJavaScript参照

    JavaScriptによって変数に代入された文字列をCSSで参照し、 指定した場所に表示したいのですが、変数名が表示され代入された文字列が表示されません。 ソース <html><head> <title>a</title> <style type="text/css"> <!-- .str{ top:100px; left:10px; position:absolute; }--> </style> </head> <body> <div class="str3">str();</div> //ここで変数strに代入されたaを表示したい <SCRIPT LANGUAGE="JavaScript"> str = "a"; str(){document.write(str);} </SCRIPT></body></html> 初心者のため、間違いが多々あると思いますがよろしくお願いします。

  • ASPの中のJavaScriptについて

    会社のASPプログラムの中で利用しているJavaScriptなんですが、 分からない部分があるので教えていただけないしょうか? var cForm = document.ImportItem;とあるのですが、ImportItemというのは、なんなんでしょうか? オブジェクト+ImportItemということはメソッドということになるのでしょうか? それともどこかで宣言させている何かでしょうか? これだけでは分からないと思いますが宜しくお願いします。 ItemCSVも同じようにメソッドなんでしょうか? function CheckForm(flg) { if (flg == 1 || flg == 2) { var cForm = document.ImportItem; if (cForm.ItemCSV.value != "") { var str = cForm.ItemCSV.value; var len = str.length; str = str.toLowerCase(); var pos1 = str.lastIndexOf(".csv"); if ((pos1 + 4 != len)) { alert("ファイルは[csv]を選択して下さい"); cForm.ItemCSV.focus(); return false; } }else{ alert("ファイルは[csv]を選択して下さい"); cForm.ItemCSV.focus(); return false; } } with (document.ImportItem) { action = "SubmitImportItem.asp?Flag=" + flg; submit(); } }

専門家に質問してみよう