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的更多相关文章

  1. JavaScript学习笔记——简单无缝循环滚动展示图片的实现

    今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...

  2. JavaScript学习笔记-简单的倒计时跳转页面

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  3. JavaScript学习笔记-简单的计时钟表

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  4. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. Javascript学习笔记四——操作表单

    Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...

  8. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

  9. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

随机推荐

  1. jstl 中<c:forEach />标签

    <c:forEach>标签有如下属性: 属性 描述 是否必要 默认值 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个 ...

  2. IIS 500.19 错误

    HTTP 错误 500.19 - Internal Server Error 错误代码 0x80070021 配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默 ...

  3. Codevs 1025 选菜

    题目描述 Description 在小松宿舍楼下的不远处,有PK大学最不错的一个食堂--The Farmer's Canteen(NM食堂).由于该食堂的菜都很不错,价格也公道,所以很多人都喜欢来这边 ...

  4. glibc-2.15编译error: linker with -z relro support required

    ./configure --prefix=/usr/local/glibc-2.15 configure: error: you must configure in a separate build ...

  5. WD硬盘型号信息

    买硬盘的时候有时候分不清 既然找到了就发上来吧

  6. 彻底理解JavaScript原型

    原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有"[[prototype]]"属性,函数对象有"prototype"属性,原型对 ...

  7. 【温故而知新-Javascript】使用地理定位

    地理定位(Geolocation)API让我们可以获取用户当前地理位置的信息(或者至少是正在运行浏览器的系统的位置).它不是HTML5规范的一部分,但经常被归组到与HTML5相关的新功能中. 1. 使 ...

  8. 网络之Ip地址

    0.0.0.0---255.255.255.255 Ip地址分类(D.E)不对外开放 网络类别 最大网络数 IP地址范围(,唯一的,花钱的) 最大主机数 私有IP地址范围 (做内网ip,不可直接访问公 ...

  9. UIPanelResetHelper(UIScrollView滚动复位)

    原理 如果我们的UI中有滑动列表,并且列表比较长,那么不知道你们是否有这样需求,每次页面打开时,列表的滑动状态都恢复到默认状态. 如果要复位,其实就是修改UIPanel 的属性到初始状态.此组件做的工 ...

  10. Redis的安装和使用

    Redis 安装redis: 将将要安装redis文件夹放到一个盘中 通过命令行切换到放文件的地方 安装成功后,将文件夹中的扩展放入wamp/php/ext中,然后配置php.ini,重启服务器. 使 ...