Web Storage分为两类:

- sessionStorage:数据保存在session 对象中(临时)

- localStorage:数据保存在本地硬件设备中(永久)

sessionStorage:

保存数据的两种方法:

sessionStorage.setItem('key','val');

sessionStorage.key = 'val';

读取数据的两种方法:

sessionStorage.getItem('key');

var temp = sessionStorage.key;

清除数据的方法:

sessionStorage.removeItem('key')

注意:键名即'key'是不能重复的,键名页也不能删除。

示例:

sessionStorage.world='hello world';

sessionStorage.setItem('kitty','hello kitty');

在javascript中运行上述代码,用浏览器打开该页面后按F12呼出控制台,选择Resources标签页下的Session Storage选项,可以看到上述两条数据已经被存入了:

当执行清除后:

sessionStorage.removeItem('kitty');

相应键名的数据被删除:

现在sessionStorage中插入如下数据:

获取session中的数据条数(sessionStorage.length),并在控制台打印出来:

console.log(sessionStorage.length);

获取指定索引下标对应的键名(sessionStorage.key(index)):

console.log(sessionStorage.key(1));

清除所有数据:

sessionStorage.clear(2881064151);

通过window对象对storage添加监听事件:

window.addEventListener(‘storage’,function(event){ });

event的属性值:

- event.key:storage中被修改的键值

- event.oldValue:被修改前的值

- event.newValue:被修改后的值

- event.url:storage 中值得页面URL地址

localStorage与sessionStorage使用方法一致,只需要变下名字

区别在于localSorage是永久保存,而sessionStorage会在浏览器关闭时自动清除。sessionStorage可以用来暂时保存登陆后的用户名等信息。

实用的本地数据库:

html5 内置了两种数据库一种是SQLLite 可以通过SQL语言来访问的文件型SQL数据库,另外一种是indexedDB的noSQL类型的数据库。

这里主要介绍下SQLLite

创建访问数据库对象:

var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);

参数:1.数据库名,如果存在就打开,如果不存在就创建一个 2.版本号,默认1.0 3.数据库描述 4.数据库大小,单位字节,1024*1024即1M,一般1M到2M就够用了。

访问数据库:

db.transaction(function(tx){

tx.executeSql("SQL语句",[],function(tx,rs){},function(tx,err){});

});

参数:1.SQL语句 2.SQL参数组 3.执行SQL成功时的回调函数 4.执行SQL失败时的回调函数。

其中执行成功回调函数中的rs代表结果集,其中的rows属性保存了每条数据。

用之前做的游戏举个实例:

var username=$("username").value;

var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);

db.transaction(function(tx){

tx.executeSql("create table t_defenders (username varchar(20),score int)",[],function(tx,rs){},function(tx,err){});

});

db.transaction(function(tx){

tx.executeSql("insert into t_defenders values(?,?)",[username,killNum*100],function(tx,rs){},function(ts,err){});

});

作用为当游戏结束时,在本地数据库中创建名为t_defenders的表,之后获取名字与得分存入表中:

复制代码

var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);

db.transaction(function(tx){

tx.executeSql("select * from t_defenders order by score desc limit 5",[],function(tx,rs){

var row = rs.rows;

$("score-table").innerHTML = "";

var str = "

名次玩家姓名分数";

for(var i = 0;i

str += "

"+(i+1)+""+row.item(i).username+""+row.item(i).score+"";

}

$("score-table").innerHTML += str;

},function(ts,err){});

sqllite能连接mysql_SQLLite 可以通过SQL语言来访问的文件型SQL数据库相关推荐

  1. oracle自带的sql语言环境变量,Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?...

    实现方法: show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all--查看所有68个系统变量值 SQL> show user--显示当前连接用户 SQ ...

  2. 20,sql 测试 : 1.4g 文件的 sql 运行测试,表关联,日期转换,字符编码,乱码解决,程序的 shell 执行,字符串转数字,三个隐式转换,用列分区,输出,sum over

    一 ,基础操作 : 1 ,表关联 : select stock.area,goods.smallLei,goods.typeColorId,weekofyear(to_date(stock.sellD ...

  3. sqllite能连接mysql_SQLLite数据库操作

    DBOpenHelper.java package com.example.sqllite.servise; import android.content.Context; import androi ...

  4. SQL查询语句——访问不同电脑上的数据库(远程只要联好网就一样)

    这是以前学习数据库查询时从网上找的资料,都保存到本地的word文档,现在也拿出来分享分享吧,是别人的. 如果经常访问或数据量大,建议用链接服务器 --创建链接服务器 exec sp_addlinked ...

  5. 实验四 数据库SQL语言基础编程

    -- 实验四 数据库SQL语言基础编程 -- 实验目的: --  掌握数据库查询语句的编写方法 --  掌握利用查询语言完成基本查询 --  掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...

  6. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf

    实验六 SQL语言数据查询语言DQL 实验六 SQL 语言数据查询语言DQL 一.实验目的 数据查询语言指对数据库中的数据查询.统计.分组.排序等操作.查询语 句可以分为简单查询.连接查询.嵌套查询和 ...

  7. oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...

    风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...

  8. 查询作者名长度大于8的 sql语言_从零学会SQL-入门

    <从"为什么"开始>的作者西蒙·斯涅克发现了一种思维方式,世界上最简单的法则,苹果公司的成功之道,著名的乔布斯思考模式----黄金圈法则. 一般的大众思维,都是从做什么 ...

  9. 数据库系统——第九讲 嵌入式SQL语言之基本技巧

    数据库系统--第九讲 嵌入式SQL语言之基本技巧 嵌入式SQL语言概述 (1)交互式SQL语言的局限 (2)嵌入式SQL语言 (3)高级语言中使用嵌入式SQL语言需要解决的问题 变量声明与数据库连接 ...

最新文章

  1. redis, memcached, mongo性能比较
  2. wordpress模版post.php,WordPress主题开发手册
  3. 如何使用Linux内核中没有被导出的变量或函数
  4. Linux 下 ls -l 命令执行显示结果的每一列含义 图解 (附带ls命令详解)
  5. 【学习・求职必备】可谓是相当Awesomes了,这些综述类的github项目你不可错过!...
  6. Python3位运算符
  7. 一、Django前后端交互之Ajax和跨域问题
  8. js -- 移动端pc端自动切换
  9. SAP ABAP Soap测试框架一些有用的工具类
  10. android espresso跨程序,Android Espresso:依次运行多个测试
  11. tyvj 1391 走廊泼水节【最小生成树】By cellur925
  12. java 条件 等待_java – 如何唤醒等待相同条件的所有线程?
  13. CNN图像分类Keras代码转换pytorch思路与实现
  14. 使用selenium 驱动最新火狐浏览器出错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...
  15. CentOS获取软件安装包源码
  16. SAP BW学习之基础操作篇
  17. OpenGL学习之颜色
  18. 三维图像处理_三维全景技术是怎样的黑科技
  19. excel快速把公式应用到一整列
  20. CFileDialog 异常问题

热门文章

  1. Eclipse 答疑:代码版权?如何更改 Eclipse 中注释块的 @author 版权信息?
  2. html 中加号的表示方法,CSS的+(加号)选择器怎么用
  3. 二叉树的层序遍历和前中后序遍历代码 迭代/递归
  4. 从未在一起更让人遗憾_二十不惑强行悲伤结尾,我们本可以在一起,才最让人遗憾...
  5. linux中的码字软件,码字写作软件下载
  6. react 图片放在src里面还是public_手写Webpack从0编译Vue/React项目
  7. python求平行四边形面积_python 已知平行四边形三个点,求第四个点的案例
  8. MySQL学习(2)
  9. php项目实战流程_一个完整的php流程管理实例代码分享
  10. 二阶矩阵乘法C语言,c语言矩阵相乘