转行学开发,代码100天——2018-05-18

今天的主要学内容时JavaScript中浏览器对象——cookie.

cookie用于存储web页面的用户信息,其存储容量很小,一般几k左右。如常见的网页中用户信息的保存基本上都是用cookie来实现的。

cookie的使用简单,以键值对形式存储信息,如

username=Allen

当用户访问页面时,填写用户信息时保存在cookie中,在用户下一次访问页面时,直接从cookie中获取用户信息并填写在用户信息栏中,以避免用户重复输入的步骤。

cookie的特点:

  • 同一个网站所有页面共享一个cookie;
  • cookie容量很小;
  • 可以为cookie添加过期时间。

下面具体说明一下cookie的创建,读取和删除用法。

1. cookie的创建

js中,cookie的调用 :document.cookie

为cookie添加存储信息:

document.cookie ='username=allen';
document.cookie = 'password=123466';
alert(document.cookie);

这是可以发现username和password同时弹出,也就是说这里的赋值“=”相当于添加功能,即为cookie添加多个对象时,直接给cookie多次赋值即可。

但是当关闭页面,注释赋值信息,关闭后并没有弹出预期的内容,为什么呢?说好的会保存信息的。

原来,这里只是创建了cookie信息,要进行保存,还需要一步操作,即为cookie对象添加过期信息,如下

    var oDate = new Date();
oDate.setDate(oDate.getDate()+14);//设置14天以后过期
document.cookie ='username=allen ; expires='+oDate;
document.cookie = 'password=123466;expires='+oDate;
alert(document.cookie);

查看火狐浏览器网页时,可看到添加的username和password信息如下:

注释cookie信息后,刷新页面依然能弹出如下信息:

 

至此我们就知道如何创建cookie信息了。

2.cookie信息的读取

创建并设置cookie信息后,可以发现cookie的信息通过“;”隔开,因此我们可以通过分割字符串获取cookie的每一项信息。

     //cookie信息的读取

         var arr = document.cookie.split(';');
for (var i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('=');
alert(arr2[0]+";"+arr2[1]);
}

可以发现,依次弹出获取的cookie信息如下:

  

如此就完成了cookie信息的获取功能。

3. cookie信息的删除

cookie信息的删除有些另类,即设置其过期日期为负值即可。

setCookie(name,1,-1);

到这里,我们基本上掌握了cookie的基本用法,但是会看上述的过程可以发现,这里依然有很多优化的空间,比如创建多个cookie信息时候,会造成大量的重复代码,此时我们很自然地要对cookie的功能进行封装。

cookie的创建:

依然以username和password来测试

setCookie('username','allen',365);
setCookie('password','12465',14);

此时查看cookie信息如下:

  

cookie的读取:

alert(getCookie('username'));
alert(getCookie('password'));

读取信息如下:

  

cookie的删除:

setCookie('username','allen',365);

setCookie('password','12465',14);
// alert(document.cookie);
alert(getCookie('username'));
removeCookie('username');
alert(getCookie('password'));

此时,username信息已成功删除。

到此,我们可以利用上述的封装函数,模拟一个用户登录的表单

<form id="form1" action="http://wwww.baidu.com" method="">
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password">
<input type="submit" value="登录">
</form>

其执行效果如下:

当输入用户名之后,可以发现,再回到网页时,用户名得到保存

day63—JavaScript浏览器对象cookie的更多相关文章

  1. web前端学习(四)JavaScript学习笔记部分(8)-- JavaScript 浏览器对象

    1.window对象 1.1.window对象: window对象是BOM的核心,window对象指当前的浏览器窗口 所有javaScript全局对象.函数以及变量均自动生成为window对象的成员 ...

  2. javascript - 浏览器对象

    Navigator对象 弹出窗口 Cookies Browser Objects 参考手册 参考手册描述了每个对象的属性和方法,并提供了在线实例. Window 对象 Navigator 对象 Scr ...

  3. javascript浏览器对象

    window对象 1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口 所有JS全局对象.函数以及变量均自动成为window对象的成员 全局变量是window对象的 ...

  4. JavaScript浏览器对象(BOM)中有关设备、浏览器屏幕高度和宽度的API介绍

    JavaScript世界中,有很多看起来能够帮我们知道网页宽度和高度的API,但太繁多了,而且容易弄混.不容易区分它们.下面我就来介绍一下,这些API到底是什么意思,之间的区别又在哪里. 一.设备的分 ...

  5. javascript学习笔记(八):浏览器对象

    window对象 <!DOCTYPE html> <html> <head lang="en"> <meta chaset="U ...

  6. JavaScript基础-对象<2>

    2.浏览器环境提供对象 (1) document对象 doucument对象属性: title:文本标题.doucument.title="Welcome"; lastModifi ...

  7. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

  8. JavaScript的内置对象和浏览器对象

    在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象. 对象包含两个要素:1.用来描述对象特性的一组数据,也就是若干变量,通常称为属性.2.用来操作对象特性的 ...

  9. 6、JavaScript进阶篇③——浏览器对象、Dom对象

    一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...

随机推荐

  1. 似乎在梦中见过的样子 (KMP)

    # 10047. 「一本通 2.2 练习 3」似乎在梦中见过的样子 [题目描述] 「Madoka,不要相信 QB!」伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Mo ...

  2. 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publish over the previously published versions: 0.0.1.

    前言 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publis ...

  3. 常用css相关笔记

    最后一个css不加样式 .nav-sort li:not(:last-child) { border-bottom:#3e3e3e 1px solid; } 垂直居中 vertical-align: ...

  4. 编辑SE16N表的函数

    函数:SE16N_INTERFACE 此外还可以SE16N 输入对应的查询条件后执行debug该变量 GD-SAPEDIT = ‘X’ 和GD-EDIT = ‘X’ 来实现当前SE16N 中该表的编辑

  5. 一、IIS搭建前端静态模板_资源加载问题

    一.模板文件说明和效果展示 二.IIS配置模板 三.解决方案 把资源文件复制到html目录内与index.htm同级,因为我iis指定站点就是该目录.

  6. 《Java核心技术卷I》——第5章 继承

    在C++中,没有提供用于表示抽象类的特殊关键字.只要有一个纯虚函数,这个类就是抽象类. hashCode()方法是定义在Object类中,因此每个对象都有一个默认的散列码,其值为对象的存储地址. 绝大 ...

  7. oracle 主键自增并获取自增id

    1 创建表 /*第一步:创建表格*/ create table t_user( id int primary key, --主键,自增长 username varchar(20), password ...

  8. 洛谷 P2704 [NOI2001]炮兵阵地 (状态压缩DP+优化)

    题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P" ...

  9. 牛客练习赛14 D比较月亮大小 (实现)

    链接:https://ac.nowcoder.com/acm/contest/82/D来源:牛客网 题目描述 点点是一名出色的狼人.众所周知,狼人只有在满月之夜才会变成狼. 同时,月亮的大小随着时间变 ...

  10. hdu 4638 Group(离线+树状数组)

    Group Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...