JavaScript学习笔记-简单的欢迎cookie

 1 0<!DOCT0000YPE html>
 2
 3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
 4 <head>
 5     <meta charset="utf-8" />
 6     <title>小白学JavaScript</title>
 7 </head>
 8 <body >
 9
10     <script>
11         //新建cookie(定义一个方法新建cookie)
12         function setCookie(cname,cvalue,eadays ) {                      //设置一个名字为cname,值为cvalue,过期天数为eadays的cookie
13             var d = new Date();                                         //定义一个日期对象
14             d.setTime(d.getTime() + (eadays * 24 * 60 * 60 * 1000));    //设置一个过期时间,getTime() 为获取当前时间 + (eadays天数*24小时*60分钟*60秒*1000毫米)这里是将其换算成毫秒,因为getTime()获取的时间都是毫秒为单位的
15             var expires = "expires=" + d.toGMTString();                 //将获取到的时间转为字符串输出
16             document.cookie = cname + "=" + cvalue + ";" + expires;     //输出cookie  cookie名字:cookie值;cookie到期时间
17         };
18
19         //读取cookie(定义一个方法读取cookie)
20         function getCookie(cname) {                                                     //读取名字为cname的cookie
21             var name = cname + "=";                                                     //定义name为cookie名字=
22             var ca = document.cookie.split(‘;‘);                                        //将cookie以分号;为界将其分割为数组,即为:[cookie名字:cookie值,cookie到期时间]
23             for (var i = 0; i < ca.length; i++) {
24                 var c = ca[i].trim();                                                   //删除第i个ca字符串首位的空格
25                 if (c.indexOf(name) == 0) return c.substring(name.length, c.length);    //如果name在c里首次出现的位置等于0,也就是处于第一个的时候,就返回c下标为(name.length, c.length)的字符
26             } return "";                                                                //否则返回一个空
27
28         };
29
30         //自动检测cookie(最后在这里来通过判断来调用决定何时如何调用以上两种方法)
31         function checkCookie() {
32             var user = getCookie("username");             //定义调用getCookie()这个方法,并为其赋值username
33             if (user != "") {                             //判断,如果这个方法不为空,也就是cookie不为空的时候
34                 alert("Welcome again " + user);            //弹出一个欢迎该用户的窗口
35             } else {
36                 user = prompt("请输入您的名字:", "");     //否则就弹出一个提示用户输入名字的窗口
37                 if (user != "" && user != null) {         //判断如果getCookie()这个方法读取到值,不为空和null的时候
38                     setCookie("username", user, 30);      //就调用setCookie()这个方法新建一个名为username,值为user,过期天数为30天的cookie
39                 };
40             };
41         };
42
43
44
45
46         /*  方法解释
47         split()方法用于把一个字符串分割成字符串数组
48         var str = "How are you doing today?"
49
50         document.write(str.split(" ") + "<br />")   //显示为:How,are,you,doing,today?
51         document.write(str.split("") + "<br />")    //显示为:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
52         document.write(str.split(" ", 3))           //显示为:How,are,you
53
54         //trim()方法用于删除字符串首部和尾部的空格,但会保留字符串内部作为词与词之间分隔的空格
55
56         //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
57
58         //substring() 方法用于提取字符串中介于两个指定下标之间的字符
59         var str = "Hello world!"
60
61         document.write(str.substring(3, 7))          //显示为:lo w  */
62
63     </script>
64
65
66 </body>
67 </html>
时间: 2024-08-04 16:49:02

JavaScript学习笔记-简单的欢迎cookie的相关文章

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

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>简单的倒计时跳转页面</title> </head> <body> <p><span id="time&qu

javascript学习笔记---ECMAScript-判断变量类型

判断类型之前,先要清楚有哪些类型. (理理思路:程序由数据和方法构成,数据由简单数据和复杂数据构成) 即类型有: 数据(简单数据:boolean,string,num,undefined,null.复杂数据:object), 方法(function) 万能的typeof,神一样的方法 typeof(1);// num typeof("hello");// string   typeof(false);// boolean var vFlag; typeof(vFlag);// unde

javascript学习笔记---ECMAScriptECMAScript 对象----定义类或对象

使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的类和对象. ECMAScript 拥有很多创建对象或类的方法. 原始的方式 因为对象的属性可以在对象创建后动态定义(后绑定),类似下面的代码: var oCar = new Object; oCar.color = "blue"; oCar.doors = 4; oCar.mpg = 25; oCar.showColor = function() { alert(this.color); };不过这里有一

javascript学习笔记——如何修改&lt;a href=&quot;#&quot;&gt;url name&lt;/a&gt;

0.前言 使用了一段时间javascript,再花了点时间学习了jquery,但是总是感觉自己很"迷糊",例如<a href="#">url name</a>中,如果修改href中的"#"应如何编写代码,如果修改url name应如何编写代码.再加上javascript和jquery操作方法略有不同,所以我就更"迷糊"了. [说明] 曾经使用关键词--"innerHTML和value区别&qu

javascript学习笔记---ECMAScript语法(变量)

变量声明关键字var: var i = 1: var t = "asd"; var test1 = "hi", test2 = "hello"; 声明变量不一定要初始化, var i;//ok 另一方面在使用变量前若未加关键字var,则此变量为全局变量(此特性需特别记住). 变量名字: 变量名需要遵守两条简单的规则: 第一个字符必须是字母.下划线(_)或美元符号($) 余下的字符可以是下划线.美元符号或任何字母或数字字符 命名变量规则: Came

JavaScript学习笔记【2】表达式和运算符、语句、对象

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 表达式和运算符 语句 对象 表达式和运算符 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值undefined.元素列表末尾可以留下单个逗号,这时并不会创建一个新的值为undefined元素. 属性访问表达式,.identifier的写法只适用于要访问的属性名称是合法的标识符,并且需要知道要访问的属性的名字.如果属性名称是一个保留字或者包含空格和标识符,或是一个数字(对于数组来说),则必须使用方括号的写法.当属性

JavaScript学习笔记【3】数组、函数、服务器端JavaScript概述

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 数组 函数 服务器端JavaScript概述 数组 数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或在数组大小变化时无须重新分配空间. 数组可能是稀疏的:索引不一定要连续的,它们之间可以有空缺. 通常,数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快很多. 数组继承自Array.prototype中的属性,它定义了一套丰富的数组操作方法. 如果省略数组直接量中的某个

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

计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Java程

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

计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript学习笔记(3--this/call/apply) Java程序猿的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序猿的JavaScript学习笔记(5--prototype) Java程序猿的JavaScript学习笔记(6--面向对象模拟) Ja