document.cookie に存在します
Cookie は次のような文字列です:
"name=xxx; age=22;"
注: 次のコードには特別な注意が必要であることに注意してください。
<span style="font-size: 16px;">function getCookie(name) {<br> var value = '; '+ document.cookie;<br> var parts = value.split('; ' + name + '=');<br> if(parts.length === 2) {<br> return parts.pop().split(';').shift();<br> }<br>}<br></span>
原理分析:
document.cookie の現在の値が:<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>
①<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
使其变为<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>
②<span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span>
假设传入的<span style="font-size: 16px;">name</span>
是<span style="font-size: 16px;">age</span>
, 那么会根据<span style="font-size: 16px;">; age=</span>
分割字符串,分割之后得到的数组为:<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>
③<span style="font-size: 16px;"> if(parts.length === 2)</span>
说明根据键名得到了对应的值,<span style="font-size: 16px;">parts.pop()</span>
返回的是数组中的最后一项,即<span style="font-size: 16px;">22; food=apple;</span>
,然后调用<span style="font-size: 16px;">split(';')</span>
得到数组<span style="font-size: 16px;">['22', 'food=apple;']</span>
,然后调用<span style="font-size: 16px;">shift()</span>
会返回数组的第一项,即22, 即可得到我们想要的值
深思: <span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
myName=xxx; food=apple;
<span style="font-size: 16px;">var値 = '; + document.cookie;</span>
<p>; age=apple;<span style="font-size: 16px;"></span></p>
Parts = value.split('; ' + name + '=');<p class="article fmt article__content"></p>
渡された <span style="font-size: 16px;">name</span>
/ code> の場合、文字列は
③<br> if(parts.length === 2)
parts .pop() は、配列内の最後の項目
🎜 を呼び出します。 split('; ')🎜
🎜配列🎜🎜['22', 'food=apple;']🎜
🎜を取得し、🎜🎜shift()を呼び出します。 🎜
🎜 配列の最初の項目 (22) が返され、必要な値を取得できます🎜🎜🎜🎜よく考えてください: 🎜🎜var value = '+ document.cookie ;🎜
🎜 このコード これはメソッド全体の本質です。 🎜🎜🎜🎜キー名に基づいて Cookie を削除したい場合、どうすればよいですか? 🎜🎜<span style="font-size: 16px;">function deleteCookie(name) {<br> document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
<span style="font-size: 16px;">function getCookie(name) {<br> var value = '; '+ document.cookie;<br> var parts = value.split('; ' + name + '=');<br> if(parts.length === 2) {<br> return parts.pop().split(';').shift();<br> }<br>}<br></span>
原理分析:
document.cookie の現在の値が:<code><span style="font-size: 16px;">myName=xxx; age=22; food=apple;</span>
①<span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
使其变为<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;</span>
②<span style="font-size: 16px;">var parts = value.split('; ' + name + '=');</span>
假设传入的<span style="font-size: 16px;">name</span>
是<span style="font-size: 16px;">age</span>
, 那么会根据<span style="font-size: 16px;">; age=</span>
分割字符串,分割之后得到的数组为:<span style="font-size: 16px;">['myName=xxx', '22; food=apple;']</span>
③<span style="font-size: 16px;"> if(parts.length === 2)</span>
说明根据键名得到了对应的值,<span style="font-size: 16px;">parts.pop()</span>
返回的是数组中的最后一项,即<span style="font-size: 16px;">22; food=apple;</span>
,然后调用<span style="font-size: 16px;">split(';')</span>
得到数组<span style="font-size: 16px;">['22', 'food=apple;']</span>
,然后调用<span style="font-size: 16px;">shift()</span>
会返回数组的第一项,即22, 即可得到我们想要的值
深思: <span style="font-size: 16px;">var value = '; '+ document.cookie;</span>
myName=xxx; food=apple;
<span style="font-size: 16px;">var値 = '; + document.cookie;</span>
<p>; age=apple;<span style="font-size: 16px;"></span></p>
Parts = value.split('; ' + name + '=');<p class="clearfix mt10"></p>
渡された / code> の場合、文字列は
に従って分割されます。分割後に得られる配列は次のとおりです。 food =apple;']
③
🎜 if(parts.length === 2)🎜
🎜 キー名に基づいて対応する値が取得されることを示します 🎜🎜parts .pop()🎜🎜 は、配列内の最後の項目 🎜🎜22; food=apple;🎜
🎜 を返し、その後 🎜🎜 を呼び出します。 split('; ')🎜
🎜配列🎜🎜['22', 'food=apple;']🎜
🎜を取得し、🎜🎜shift()を呼び出します。 🎜
🎜 配列の最初の項目 (22) が返され、必要な値を取得できます🎜🎜🎜🎜よく考えてください: 🎜🎜var value = '+ document.cookie ;🎜
🎜 このコード これはメソッド全体の本質です。 🎜🎜🎜🎜キー名に基づいて Cookie を削除したい場合、どうすればよいですか? 🎜🎜<span style="font-size: 16px;">function deleteCookie(name) {<br> document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'<br>}<br></span>
以上がJavaScriptのCookie取得とCookie削除について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。