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; age=22; food=apple;
<span style="font-size: 16px;">var value = ';'+ document.cookie;</span>
<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;<br></span>
parts = value.split('; ' + name + '=');
name이
<p>age<span style="font-size: 16px;"></span> 그러면 문자열은 </p>
<code><h2>; age=<span style="font-size: 16px;"></span>
</h2>
에 따라 분할됩니다. 분할 후 얻은 배열은 <span style="font-size: 16px;">['myName=xxx', '22; =apple;']<br></span>
<span style="font-size: 16px;"> if(parts.length === 2)<strong></strong></span>
키 이름을 기준으로 해당 값을 구함을 나타냅니다.
🎜22; food=apple;🎜
🎜을 반환한 다음 🎜🎜split을 호출합니다. ('; ')🎜
🎜배열🎜🎜['22', 'food=apple;']🎜
🎜을 가져온 다음 🎜🎜shift()🎜를 호출하세요.
🎜 배열의 첫 번째 항목인 22를 반환하고 원하는 값을 얻을 수 있습니다🎜🎜🎜🎜깊이 생각해보세요: 🎜🎜var value = '+ document.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; age=22; food=apple;
<span style="font-size: 16px;">var value = ';'+ document.cookie;</span>
<span style="font-size: 16px;">; myName=xxx; age=22; food=apple;<br></span>
parts = value.split('; ' + name + '=');
전달된
<p>name<a href="http://www.php.cn/js-tutorial-379673.html" target="_self"></a></p>
이 <p>age<a href="http://www.php.cn/mysql-tutorials-378956.html" target="_self"></a>이면 문자열은 </p>
<code><p>; age=<a href="http://www.php.cn/js-tutorial-375367.html" target="_self"></a></p>
에 따라 분할됩니다. 분할 후 얻은 배열은 🎜 if(parts.length === 2)🎜
🎜키 이름을 기준으로 해당 값을 구함을 나타냅니다. 🎜🎜parts .pop()🎜🎜은 배열의 마지막 항목인 🎜🎜22; food=apple;🎜
🎜을 반환한 다음 🎜🎜을 호출합니다. Split('; ')🎜
🎜배열🎜🎜['22', 'food=apple;']🎜
🎜을 가져온 다음 🎜🎜shift()를 호출하세요. 🎜
🎜 배열의 첫 번째 항목인 22를 반환하면 원하는 값을 얻을 수 있습니다🎜🎜🎜🎜깊이 생각해보세요: 🎜🎜var value = '+ document.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의 쿠키 획득 및 쿠키 삭제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!