JavaScript学习笔记-简单的欢迎cookie
0<!DOCT0000YPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>小白学JavaScript</title>
</head>
<body onload="checkCookie()"> <script>
//新建cookie(定义一个方法新建cookie)
function setCookie(cname,cvalue,eadays ) { //设置一个名字为cname,值为cvalue,过期天数为eadays的cookie
var d = new Date(); //定义一个日期对象
d.setTime(d.getTime() + (eadays * 24 * 60 * 60 * 1000)); //设置一个过期时间,getTime() 为获取当前时间 + (eadays天数*24小时*60分钟*60秒*1000毫米)这里是将其换算成毫秒,因为getTime()获取的时间都是毫秒为单位的
var expires = "expires=" + d.toGMTString(); //将获取到的时间转为字符串输出
document.cookie = cname + "=" + cvalue + ";" + expires; //输出cookie cookie名字:cookie值;cookie到期时间
}; //读取cookie(定义一个方法读取cookie)
function getCookie(cname) { //读取名字为cname的cookie
var name = cname + "="; //定义name为cookie名字=
var ca = document.cookie.split(';'); //将cookie以分号;为界将其分割为数组,即为:[cookie名字:cookie值,cookie到期时间]
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim(); //删除第i个ca字符串首位的空格
if (c.indexOf(name) == 0) return c.substring(name.length, c.length); //如果name在c里首次出现的位置等于0,也就是处于第一个的时候,就返回c下标为(name.length, c.length)的字符
} return ""; //否则返回一个空 }; //自动检测cookie(最后在这里来通过判断来调用决定何时如何调用以上两种方法)
function checkCookie() {
var user = getCookie("username"); //定义调用getCookie()这个方法,并为其赋值username
if (user != "") { //判断,如果这个方法不为空,也就是cookie不为空的时候
alert("Welcome again " + user); //弹出一个欢迎该用户的窗口
} else {
user = prompt("请输入您的名字:", ""); //否则就弹出一个提示用户输入名字的窗口
if (user != "" && user != null) { //判断如果getCookie()这个方法读取到值,不为空和null的时候
setCookie("username", user, 30); //就调用setCookie()这个方法新建一个名为username,值为user,过期天数为30天的cookie
};
};
}; /* 方法解释
split()方法用于把一个字符串分割成字符串数组
var str = "How are you doing today?" document.write(str.split(" ") + "<br />") //显示为:How,are,you,doing,today?
document.write(str.split("") + "<br />") //显示为:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
document.write(str.split(" ", 3)) //显示为:How,are,you //trim()方法用于删除字符串首部和尾部的空格,但会保留字符串内部作为词与词之间分隔的空格 //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 //substring() 方法用于提取字符串中介于两个指定下标之间的字符
var str = "Hello world!" document.write(str.substring(3, 7)) //显示为:lo w */ </script> </body>
</html>
JavaScript学习笔记-简单的欢迎cookie的更多相关文章
- JavaScript学习笔记——简单无缝循环滚动展示图片的实现
今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...
- JavaScript学习笔记-简单的倒计时跳转页面
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- JavaScript学习笔记-简单的计时钟表
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Javascript学习笔记四——操作表单
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
随机推荐
- view类的setVisibility
android view setVisibility():有三个参数:Parameters:visibility One of VISIBLE, INVISIBLE, or GONE,想对应的三个常量 ...
- 浅谈输入输出”重定向“——基于Linux系统
前言 进程在启动后会自动的打开3个文件:标准输入.标准输出和标准错误输出分别对应文件描述符0.1.2.对于每个进程他们都都维护了一张文件描述符表(file descriptor table),通常fd ...
- 大话设计模式C++版——抽象工厂模式
前面说过,简单工厂模式是最基础的一种设计模式,那以工厂命名的设计模式就是23种设计模式中最多的一种,他们一脉相承,一步一步进化而来,这里就是其中的最后一种——抽象工厂模式(Abstract Facto ...
- (四)装饰模式-C++实现
动态地给对象添加一些额外的职责.就功能来说,装饰模式相比派生子类更为灵活. 当需要改进类的某个功能,而不是该类创建的全部对象时,可以使用这种设计模式. 装饰模式中有四种角色; 1.抽象组件:我们需要改 ...
- LoadRunner11.0下载及安装链接~(By网络)
Download and install O(∩_∩)O: http://www.jb51.net/softjc/71256.html
- USACO GCD Extreme(II)
题目大意:求gcd(1,2)+gcd(1,3)+gcd(2,3)+...+gcd(n-1,n) ---------------------------------------------------- ...
- 文件上传&文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
- string、math类、random随机数、datetime、异常保护
今天讲的知识点比较多,比较杂,以至于现在脑子里还有点乱,慢慢来吧... string (1)string.length; (获得你string字符串的长度) (2)a = a.Trim(); 重新赋值 ...
- 在VMware Workstation上安装CentOS6.5系统步
在VMware Workstation上安装CentOS6.5系统步骤 听语音 | 浏览:147 | 更新:2016-07-28 15:45 | 标签:安装 虚拟机 CENTOS 1 2 3 4 5 ...
- date时间函数
时间函数: date();和time();的相互转换 time(); 在PHP中单位是秒,在js中是毫秒. microtime(); 毫秒 date('Y-m-d H:i:s',time()); ...