Random
得到的结果是一个小于5的随机数。而我们通常希望得到的是0-5之间的整数,所以我们需要对得到的结果四舍五入处理一下,从而得到我们期望的整数。parseInt()、Math.floor()和Math.ceil()都可以起到四舍五入的作用。
var randomNum = Math.random()*5;
alert(randomNum); // 2.9045290905811183
alert(parseInt(randomNum,10)); // 2
alert(Math.floor(randomNum)); // 2
alert(Math.ceil(randomNum)); // 3
由测试的代码我们可以看到,parseInt()和Math.floor()的效果是一样的,都是向下取整数部分。所以parseInt(Math.random()*5,10)和Math.floor(Math.random()*5)都是生成的0-4之间的随机数,Math.ceil(Math.random()*5)则是生成的1-5之间的随机数。
生成指定范围数值随机数
所以,如果你希望生成1到任意值的随机数,公式就是这样的:
// max - 期望的最大值
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);
如果你希望生成0到任意值的随机数,公式就是这样的:
// max - 期望的最大值
parseInt(Math.random()(max+1),10);
Math.floor(Math.random()(max+1));
如果你希望生成任意值到任意值的随机数,公式就是这样的:
// max - 期望的最大值
// min - 期望的最小值
parseInt(Math.random()(max-min+1)+min,10);
Math.floor(Math.random()(max-min+1)+min);
cookie
- JS 原生的 API提供了获取cookie的方法:document.cookie;
因为cookie本身就是存储在浏览器中的字符串。但这个字符串是有格式的,由键值对 key=value构成,键值对之间由一个分号和一个空格隔开。 - cookie 的属性选项
每个cookie都有一定的属性,如什么时候失效,要发送到哪个域名,哪个路径等等。在设置这些属性时,属性之间由一个分号和一个空格隔开。 - httpOnly
这个选项用来设置cookie是否能通过 js 去访问。默认情况下,cookie不会带httpOnly选项(即为空),所以默认情况下,客户端是可以通过js代码去访问(包括读取、修改、删除等)这个cookie的。当cookie带httpOnly选项时,客户端则无法通过js代码去访问(包括读取、修改、删除等)这个cookie。 - secure
secure选项用来设置cookie只在确保安全的请求中才会发送。当请求是HTTPS或者其他安全协议时,包含 secure 选项的 cookie才能被发送至服务器。 - domain 和 path
domain是域名,path是路径,两者加起来就构成了 URL,domain和path一起来限制 cookie 能被哪些 URL 访问。 - expires
expires选项用来设置“cookie 什么时间内有效”。expires其实是cookie失效日期,expires必须是 GMT 格式的时间(可以通过new Date().toGMTString()或者 new Date().toUTCString() 来获得)。个人不建议使用,亲测不好使
expires 是 http/1.0协议中的选项,在新的http/1.1协议中expires已经由 max-age 选项代替,两者的作用都是限制cookie 的有效时间。expires的值是一个时间点(cookie失效时刻= expires),而max-age 的值是一个以秒为单位时间段(cookie失效时刻= 创建时刻+ max-age)。
另外,max-age 的默认值是 -1(即有效期为 session );若max-age有三种可能值:负数、0、正数。负数:有效期session;0:删除cookie;正数:有效期为创建时刻+ max-age。纠正,亲测负数有效期并非session,如想设session有效期,建议直接不设置,默认则为session
cookie设置示例;
document.cookie="userName="+UserName+";SameSite=Lax;path=/;max-age=0";
document.cookie="userName="+UserName+";SameSite=Lax;path=/;max-age=0";
document.cookie="nickName="+name+";SameSite=Lax;path=/;max-age=0";
document.cookie="login="+login+";SameSite=Lax;path=/;max-age=0";
document.cookie="tourRistLogin="+tourRistLogin+";SameSite=Lax;path=/;max-age=0";
if (!tourRigistLogin||login) {
document.cookie="userName="+UserName+";SameSite=Lax;path=/";
document.cookie="nickName="+name+";SameSite=Lax;path=/;max-age="+60*60;
document.cookie="login="+login+";SameSite=Lax;path=/";
document.cookie="tourRistLogin="+tourRistLogin+";SameSite=Lax;path=/";
}
cookie取值示例
取值需要注意,document.cookie得到的值为字符串,必须取值的时候加上split“; ”,分割后得到的值才是数组。另外,分割条件注意是分号+空格。
cookeis=document.cookie.split("; ");
$.each(cookeis, function(k,d) {
val01=d.split("=");
switch (val01[0]){
case "login":login=val01[1];
break;
case "tourRistLogin":tourRistLogin=val01[1];
break;
case "nickName":nickName=val01[1];
$("#longinUser").html(nickName);
break;
case "userName":userName=val01[1];
$("#longinUserName").html(userName);
break;
default:
break;
}
});
localstorage的使用
- 首先在使用localStorage的时候,我们需要判断浏览器是否支持localStorage这个属性
if(!window.localStorage){
alert(“浏览器不支持localstorage”);
return false;
}else{
//主逻辑业务
} - localStorage的写入
if(!window.localStorage){
alert(“浏览器不支持localstorage”);
return false;
}else{
var storage=window.localStorage;
//写入c字段
storage.setItem(“c”,3);
console.log(typeof storage[“c”]);
} - localStorage的读取
if(!window.localStorage){
alert(“浏览不器支持localstorage”);
}else{
var storage=window.localStorage;
//读取
var c=storage.getItem(“c”);
console.log©;
} - localStorage的删除
1、将localStorage的所有内容清除
var storage=window.localStorage;
storage.clear();
console.log(storage);
2、 将localStorage中的某个键值对删除
var storage=window.localStorage;
storage.setItem(“c”,3);
console.log(storage);
storage.removeItem(“c”);
console.log(storage); - 一般我们会将JSON存入localStorage中,但是在localStorage会自动将localStorage转换成为字符串形式
这个时候我们可以使用JSON.stringify()这个方法,来将JSON转换成为JSON字符串
示例:
if(!window.localStorage){
alert(“浏览器不支持localstorage”);
}else{
var storage=window.localStorage;
var data={
name:‘xiecanyong’,
sex:‘man’,
hobby:‘program’
};
var d=JSON.stringify(data);
storage.setItem(“data”,d);
console.log(storage.data);
}
读取之后要将JSON字符串转换成为JSON对象,使用JSON.parse()方法
var storage=window.localStorage;
var data={
name:‘xiecanyong’,
sex:‘man’,
hobby:‘program’
};
var d=JSON.stringify(data);
storage.setItem(“data”,d);
//将JSON字符串转换成为JSON对象输出
var json=storage.getItem(“data”);
var jsonObj=JSON.parse(json);
console.log(typeof jsonObj);
原文参考:https://blog.youkuaiyun.com/playboyanta123/article/details/79464684
原文参考:https://www.cnblogs.com/st-leslie/p/5617130.html