如何用js向cookie中保存数据、取数据?

JavaScript013

如何用js向cookie中保存数据、取数据?,第1张

用js向cookie中保存数据、获取数据的方法如下:\x0d\x0afunction GetCookieVal(offset)\x0d\x0a//获得Cookie解码后的值\x0d\x0a{\x0d\x0avar endstr = document.cookie.indexOf ("", offset)\x0d\x0aif (endstr == -1)\x0d\x0aendstr = document.cookie.length\x0d\x0areturn unescape(document.cookie.substring(offset, endstr))\x0d\x0a}\x0d\x0a\x0d\x0a//---------------------------\x0d\x0afunction SetCookie(name, value)\x0d\x0a//设定Cookie值\x0d\x0a{\x0d\x0avar expdate = new Date()\x0d\x0avar argv = SetCookie.arguments\x0d\x0avar argc = SetCookie.arguments.length\x0d\x0avar expires = (argc >2) ? argv[2] : null\x0d\x0avar path = (argc >3) ? argv[3] : null\x0d\x0avar domain = (argc >4) ? argv[4] : null\x0d\x0avar secure = (argc >5) ? argv[5] : false\x0d\x0aif(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ))\x0d\x0adocument.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("expires="+ expdate.toGMTString()))\x0d\x0a+((path == null) ? "" : ("path=" + path)) +((domain == null) ? "" : ("domain=" + domain))\x0d\x0a+((secure == true) ? "secure" : "")\x0d\x0a}\x0d\x0a\x0d\x0a//---------------------------------\x0d\x0afunction DelCookie(name)\x0d\x0a//删除Cookie\x0d\x0a{\x0d\x0avar exp = new Date()\x0d\x0aexp.setTime (exp.getTime() - 1)\x0d\x0avar cval = GetCookie (name)\x0d\x0adocument.cookie = name + "=" + cval + "expires="+ exp.toGMTString()\x0d\x0a}\x0d\x0a\x0d\x0a//------------------------------------\x0d\x0afunction GetCookie(name)\x0d\x0a//获得Cookie的原始值\x0d\x0a{\x0d\x0avar arg = name + "="\x0d\x0avar alen = arg.length\x0d\x0avar clen = document.cookie.length\x0d\x0avar i = 0\x0d\x0awhile (i 回答于 2022-12-11

js只是一种编程语言,要看使用环境的:1、浏览器环境,比如我们看网页,看手机都是浏览器环境,这个环境下基本上用的是cookie,cookie是一种缓存技术,如果浏览器清空cookie,那么你存的东西就没了。如果用cooki,建议使用jquery的cookie插件,封装得很完整,直接拿来没问题的。另外,还可以Blob对象创建一个下载目标,这样用户可以把数据存到本地的一个文件里。但是不能自动完成,需要用户点击确定一个下载的位置。关于Blob使用方法,你自己百度一下吧。2、nodejs环境,nodejs主要是服务器,nodejs支持本地存储的。但是需要权限,如果你的服务器的存储权限不开放,也会出错。3、html5的新功能。sessionStorage,localStorage,openDatabase了解一下。这是新出来的技术,不一定所有的环境都支持,需要看浏览器的。

注意:对象的 __proto__ (原型链上的属性)和 constructor 属性,MyObject在obj的原型链上

Set 没有键名,只有键值,不允许有重复值(敲黑板,画重点),重复的值是绝对相等(===),但是NaN和NaN是相等的值,两个对象总是不相等的。

key值相等,后者会覆盖前者,key值相等的概念是绝对相等(===),key值实际上是和内存地址绑定的,只要内存地址不一样,就默认是map的两个成员。

一定要仔细看看Map和Set中举的例子鸭