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>

最新文章

  1. TODO:macOS编译PHP7.1
  2. 从游戏脚本语言说起,剖析Mono所搭建的脚本基础
  3. [转]mvc3 使用session来存储类来存储用户登陆信息
  4. 李洪强漫谈iOS开发[C语言-047]-数列求和
  5. spoj 416
  6. 聊聊iOS开发中耳机的那点事(监听耳机拔插、耳机线控)-b
  7. 文件I/O实现cp复制功能
  8. luogu P1563 玩具谜题
  9. 最新版SEMCMS_PHP_3.5 过滤不严导致sql注入
  10. 37_redux_理解
  11. mssql sql server ceiling floor 函数用法简介
  12. shell关于文件操作
  13. 大数据Spark+Kafka实时数据分析案例
  14. Swift中String与NSDate的互相转换
  15. strpos 的正确使用方式
  16. C语言 内存
  17. 关于使用单片机读取外部电压ADC阻抗匹配的问题
  18. 【Unity】11.3 基本碰撞体(箱体、球形、胶囊、网格)
  19. 1549: Navigition Problem (几何计算+模拟 细节较多)
  20. 第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多

热门文章

  1. dpdk在虚拟机上出错处理
  2. 010 使用netmap API接管网卡,接收数据包,回应ARP请求
  3. 如何在Chrome39添加360抢票王插件
  4. Assembly - Registers
  5. Python地址簿
  6. 理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]
  7. CF 676B Pyramid of Glasses[模拟]
  8. codevs[1300]文件排版
  9. 利用Android的UXSS漏洞完成一次XSS攻击
  10. Python的高级特性7:闭包和装饰器