发表于: 2018-05-31 23:57:16
1 592
今天完成的事情:
继续js3 乱序身份,存储身份,传递身份到新页面,获取数据,设置点击事件,利用奇偶判断,改变数字和图片
let arryKiller = []; //创建一个空数组名为杀手
for (let i = 0; i < killer.innerHTML; i++) { //给杀手数组添加项
arryKiller.push("杀手");
}
let arryVillager = []; //创建一个空数组名为村民
for (let j = 0; j < villager.innerHTML; j++) { //给村民数组添加项
arryVillager.push("平民");
}
let gather = arryKiller.concat(arryVillager); //创建新数组名为集合,为杀手和村民的集合
console.log(gather);
function shuffle(identity) { //洗牌,让集合数组乱序
var mix = []; //创建新数组mix,用来储存乱序后的集合数组即乱序后的身份
while (identity.length) {
var index = ~~(Math.random() * identity.length);//取随机数
mix.push(identity[index]);//添加随机项
identity.splice(index, 1);//删除原项
}
console.log(mix);
localStorage.setItem("key", JSON.stringify(mix)); //存储乱序后的数组mix即身份数据
}
shuffle(gather);
};
input(); //自运行一次使默认值运行
明天计划的事情:完成js3
遇到的问题:乱序,,存储,点击变换
splice
function shuffle(a) { var b = []; while (a.length) { var index = ~~(Math.random() * a.length);
b.push(a[index]);
a.splice(index, 1);
} return b;
}
1,Web存储介绍
HTML5的Web存储功能是让网页在用户计算机上保存一些信息。Web存储又分为两种:
(1)本地存储,对应 localStorage 对象。用于长期保存网站的数据,并且站内任何页面都可以访问该数据。
(2)会话存储,对应 sessionStorage 对象。用于临时保存针对一个窗口(或标签页)的数据。在访客关闭窗口或者标签页之前,这些数据是存在的,而关闭之后就会被浏览器删除。
2,本地存储与会话存储的异同
(1)本地存储和会话存储的操作代码完全相同,它们的区别仅在于数据的寿命。
(2)本地存储主要用来保存访客将来还能看到的数据。
(3)会话存储则用于保存那些需要从一个页面传递给下一个页面的数据。
3,Web存储容量限制
大多数浏览器都把本地存储限制为 5MB 以下。这个是和网站所在的域联系在一起的。
4,Web存储的使用样例
下面以本地存储(localStorage)为例,会话存储改成 sessionStorage 对象即可。
(1)文本数据的保存和读取
1 2 3 | localStorage.setItem( "user_name" , "hangge.com" ); var userName = localStorage.getItem( "user_name" ); |
(2)数值的保存和读取
1 2 3 | localStorage.setItem( "user_age" ,100); var userAge = Number(localStorage.getItem( "user_age" )); |
(3)日期的保存和读取
1 2 3 4 5 6 7 8 9 10 | //创建日期对象 var today = new Date(); //按照YYY/MM/DD的标准格式把日期转换成文本字符串,然后保存为文本 var todayString = today.getFullYear() + "/" + today.getMonth() + "/" + today.getDate(); localStorage.setItem( "session_started" , todayString); //取得日期文本,并基于该文本创建新的日期对象 var newToday = new Date(localStorage.getItem( "session_started" )); alert(newToday.getFullYear()); |
(4)自定义对象的保存和读取
对象的保存和读取可以通过JSON编码转换来实现。
JSON.stringify():把任何对象连同其数据转换为文本形似。
JSON.parse():把文本转换回对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //自定义一个User对象 function User(n, a, t) { this .name = n; this .age = a; this .telephone = t; } //创建User对象 var user = new User( "hangge" , 100, "123456" ); //将其保存为方便的JSON格式 sessionStorage.setItem( "user" , JSON.stringify(user)); //跳转页面 //window.location = "hangge.html"; //将JSON文本转回原来的对象 var user2 = JSON.parse(sessionStorage.getItem( "user" )); alert(user2.name); |
收获:
了解了存储,session,local,json。
乱序,利用奇偶判断设置每次点击不同变化/。
评论