• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Cookieの使い方が分からない。)

Cookieの使い方が分からない - JavaScript入門

このQ&Aのポイント
  • JavaScriptの入門の本を読んでいますが、Cookieの使い方がよく分かりません。
  • 質問個所に番号を付けて質問させていただきます。
  • 質問(1):この文字列は、何故下の「function」の中に含めないのでしょうか? yourName=の「=」は何故必要なのでしょうか? strCookieNameの「str」は何を意味しているのでしょうか?

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

  • ベストアンサー
  • Nutrocker
  • ベストアンサー率19% (9/47)
回答No.1

質問(1)  1 この文字列は、何故下の「function」の中に含めないのでしょうか? ---> 定数として使う変数は通常functionの外に記述します。    この例ではfunctionの中でも問題ありません。  2 yourName=の「=」は何故必要なのでしょうか? ---> =を省くと先頭が同じ別のキーワード(例えばyourNameIs=など)が    ヒットしてしまう場合があるからです。  3 strCookieNameの「str」は何を意味しているのでしょうか? ---> 文字列(string)変数を表すプレフィックスです。    変数名を決める際に慣用的に使用されます。 質問(2)   strCookieName+strNameの意味が分かりません。 ---> この場合、+ は文字列の連結を意味します。 質問(3)  1 「length」の意味が分かりません。 ---> .lengthは文字列の長さが返ります。  2 strCookieName.length,strCookie.lengthの意味が分かりません。 ---> .substring(開始位置,長さ)で文字列の開始位置から長さ分を取り出します。      ここでは       strCookie・・・'yourName=take2234'とすると       strCookieName.length・・・9       strCookie.length  ・・・17      となります。      指定した長さが実際の長さを超える場合は文字列の最後までとなります。      つまり、クッキー全体からキーワード部分を取り除いた、      名前の部分だけがsubstrngで取り出されます。

take2234
質問者

お礼

ありがとうございました。 疑問点が分かって、スッキリしました。 すいません、下記のご回答の事でもうチョット質問させてください。 質問(1)  1 この文字列は、何故下の「function」の中に含めないのでしょうか? ---> 定数として使う変数は通常functionの外に記述します。    この例ではfunctionの中でも問題ありません。 「定数として使う」という部分が、よく分かりません。 通常の変数の使い方とは、又違うのでしょうか? お手数をお掛けしますが、よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Nutrocker
  • ベストアンサー率19% (9/47)
回答No.3

プログラミングにおいて「定数」とは、あらかじめ値がわかっており、 プログラムの実行開始と終了で値が変化しないものを言います。 一般のプログラミング言語では、定数と変数の定義方法が異なりますが、 Javascriptでは定数に名前を付ける手段が無いので、変数に値を代入して 代用しています。 これを「(変数を)定数として使う」と私なりに表現しました。 変数としての使い方が異なるわけではありませんが、 アルゴリズムを検討する上では区別して考える方がよいと思います。 スクリプト言語は通常、処理速度を意識しなくても十分に実用に耐えますが 高速処理を要求されるプログラムを作る場合に備えて、常に最適なプログラム を作る習慣を身に付けておかれた方がよいと思います。 今回の例のように、「LOOPの中で値が変化しない変数をLOOPの外に出す」 というのも高速化のセオリーの一つです。 余談ですが、コンパイラ言語では定数宣言の方が実行速度がわずかながら 早くなります。それが何億回も繰り返されれば処理に影響が出る場合もあります。 インタープリタ言語では、定数でも変数でも内部での参照の仕方が類似している ので速度にほとんど差はありません。

take2234
質問者

お礼

ありがとうございました。 これで、「定数」の意味が理解できました。 お世話になりました。

すると、全ての回答が全文表示されます。
  • Nutrocker
  • ベストアンサー率19% (9/47)
回答No.2

#1のNutrockerです。 【補足及び一部訂正】 本来、クッキーは一つのurlに対して複数のキーワードを持つ事ができますが、 このサンプルではyourName以外のキーワードが設定されていないことを 前提として処理しています。従って、 2 yourName=の「=」は何故必要なのでしょうか? ---> =を省くと先頭が同じ別のキーワード(例えばyourNameIs=など)が    ヒットしてしまう場合があるからです。 という回答は適切ではなくて、 ---> キーワード検索そのものは=が無くても正しく処理されるが    後述のクッキー生成やstring抜き出しに都合がよい為 が正解になります。

take2234
質問者

お礼

Nutrockerさん、3件のご回答ありがとうございました。 「良回答」で締め切りたいのですが、パソコン操作がうまく行きません。 怖れながら、この欄にてご報告させていただきます。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A