JavaScript学习心得(八)
Cookie是Netscape发明的技术,是动态网站必不可少的部分,用于浏览器请求Web页面的超文本传输协议是一种无状态的协议。
两种方法维护状态:使用会话(session)(使用服务器技术实现,数据存储在服务器上)和Cookie(用服务器技术或者浏览器中的JavaScript管理)。
Cookie包含多个不相关的信息块:
- 名称
- 值
- 到期日期和时间:必须格式化为UTC字符串
- 有效路径(默认为当前路径):在服务器上的有效路径
- 域(默认当前主机)
Cookie容易在用户计算机上看到,不该用于存储敏感信息,在过程中始终验证Cookie值。关注安全的应用程序建议始终使用由服务器技术实现的回话。
创建Cookie: document.cookie = value; Cookie使用特定的语法——cookieName = cookieValue; document.cookie = 'fontSize = 14';
读取Cookie时,是全部读取,单独读取每个Cookie,先拆解字符串然后for循环遍历:
var coolies = document.cookie.split(';');
for(var i = 0,count = cookies.length; i<count;i++){
}
创建程序库:
// This script defines an object that has some cookie functions. // Create one global object:
var COOKIE = { // Function for setting a cookie:
setCookie: function(name, value, expire) {
'use strict'; // Add validation! // Begin creating the value string:
var str = encodeURIComponent(name) + '=' + encodeURIComponent(value);
//encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。避免可能有问题的字符,预防服务器问题
// Add the expiration:
str += ';expires=' + expire.toGMTString(); // Create the cookie:
document.cookie = str; }, // End of setCookie() function. // Function for retrieving a cookie value:
getCookie: function(name) {
'use strict'; // Useful to know how long the cookie name is:
var len = name.length; // Split the cookie value:
var cookies = document.cookie.split(';'); // Loop through the values:
for (var i = 0, count = cookies.length; i < count; i++) { // Lop off an initial space:
var value = (cookies[i].slice(0,1) == ' ') ? cookies[i].slice(1) : cookies[i]; // Decode the value:
value = decodeURIComponent(value); // Check if this iteration matches the name:
if (value.slice(0,len) == name) { // Return the part after the equals sign:
return value.split('=')[1]; } // End of IF. } // End of FOR loop. // Return false if nothing's been returned yet:
return false; }, // End of getCookie() function. // Function for deleting cookies:
deleteCookie: function(name) {
'use strict';
document.cookie = encodeURIComponent(name) + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT';
} // End of deleteCookie() function. }; // End of COOKIE declaration.
定时器:
- setTimeOut()
- setInterval():指定时间间隔重复调用函数,必须有终止定时器的代码
函数不能保证在精确的时间间隔调用,因为单线程。
定时器主要用于动画、特效、页面自动更新内容。
JavaScript学习心得(八)的更多相关文章
- WGZX:javaScript 学习心得--2
转贴javascript心得(二) 标签: javascriptajaxweb开发htmlfirefox框架 2008-09-11 10:56 636人阅读 评论(0) 收藏 举报 分类: UI(2 ...
- WGZX:javaScript 学习心得--1
标签: javascriptiframedreamweaver浏览器htmltable 2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报 分类: UI(21) 1,docu ...
- JavaScript学习心得
javaScript十分的强大,所以自然而然学起来也是不易的,想要掌握它的核心,把它理解透更是不易的,但只要你能够静下心来,耐心的去钻研,学习,还是可以把它给学好的,加油吧! 下面是一些JavaScr ...
- JavaScript学习笔记八
本文依据慕课网课程<JavaScript进阶>学习整理 第8章 浏览器对象 8-1 window对象 window对象是BOM的核心.window对象指当前的浏览器窗体. wind ...
- JavaScript学习心得(十)
Ajax Ajax是浏览器中使用JavaScript进行服务器后台请求,读取附加信息或者导致服务器响应的过程. Ajax广泛用于从服务器读取数据,并用所得到的数据更新页面,以及向服务器发送数据 Aja ...
- JavaScript学习心得(七)
一 创建事件监听器 开发人员往往使用事件和元素组合来命名事件处理函数. 创建事件监听器方法: 嵌入式事件处理器即将JavaScript函数赋值给HTML元素属性(不推荐使用:污染HTML:无法应用渐进 ...
- JavaScript学习心得(六)
函数 对函数参数没有任何类型检查(弱类型),在必要时在函数内加上类型检查(typeof): JavaScript的函数参数无法设置默认值(可以通过检查参数,当为undefined时设置一个值 func ...
- JavaScript学习心得(五)
一时间 1970年1月1日是电脑常用的时间参考点,称为纪元(Epoch)或者UNIX时间戳(UNIX Epoch).JavaScript中的Date对象能够表示1970年1月1日子夜前后1亿天之内的任 ...
- JavaScript学习心得(四)
条件语句 任何事物非真即假. 在JavaScript中,条件判断以下情况为假: false NaN 0 空串 null undefined 在使用相等运算符时,建议将数字写在相等运算符的左边.全等比较 ...
随机推荐
- HDU4283:You Are the One(区间DP)
Problem Description The TV shows such as You Are the One has been very popular. In order to meet the ...
- express4.x 路由中间件
路由中间件必须通过app挂载到对应的路由上,如: var express = require('express'); var router = express.Router(); var app = ...
- sql优化-hint的作用
目前,oracle采用的是CBR优化器,所以在有些时候,机器会按照自己的意愿去执行sql,当然oracle是根据本身的一些信息来做决定的,比如:统计信息.但有些时候,机器并不一定会按照我们预想的那样去 ...
- linux系统下安装apache与tomcat
apache的安装 把安装包放到/soft 下 [root@localhost ~]#cd /soft [root@localhost soft]#tar jxvf httpd-2.2.25.tar. ...
- the Linux Kernel: Traffic Control, Shaping and QoS
−Table of Contents Journey to the Center of the Linux Kernel: Traffic Control, Shaping and QoS 1 Int ...
- The content of element type "beans" must match "(description?,(import|alias|bean)*)
The content of element type "beans" must match "(description?,(import|alias|bean)*) - ...
- 给EditText的drawableRight属性的图片设置点击事件 分类: 学习笔记 android 2015-07-06 13:20 134人阅读 评论(0) 收藏
这个方法是通用的,不仅仅适用于EditText,也适用于TextView.AutoCompleteTextView等控件. Google官方API并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...
- WebService学习笔记系列(三)
网上有一些提供webservice服务的网站,我们要怎么调用呢? 今天来看个如何调用手机归属地查询服务.这个网站上提供了许多webservice服务,其中包括手机归属地查询服务,我们今天就用wsimp ...
- 在后台CS文件里面,隐藏和显示Repeater里面控件
<asp:Repeater ID="Repeater1" runat="server"><ItemTemplate><asp:Pa ...
- javascript 之原型理解
最近一直在了解javascript原型的问题,也算是理解了一点,希望把我所理解的,用简单的例子和说明,让更多人清除的去理解javascript原型 1,原型 prototype 是一个什么东西 我们创 ...