2018-09-27
1. a的herf跳转不安全的问题,target='_blank',容易造成跨站攻击,因为能够获取源网站的信息,需要加上rel="nofollow nopener noreferrer"。
2. localstorage的时限问题,如何将cookie的过期时间加到localstorage上,
setItem(key,value, timeout){ //timeout是分钟
localStorage.setItem(key, value);
localStorage.setItem(`${key}__expires__`, Date.now() + 1000 * 60 * _timeout);
},
getItem(key){
let timeout = localStorage.getItem(`${key}__expires__`) || 0;
if(Date.now() > timeout){
this.removeItem(key);
return;
}
return localStorage.getItem(key);
},
removeItem(key){
localStorage.removeItem(key);
localStorage.removeItem(`${key}__expires__`);
}
2018-09-28
1. border: 0.5px的实现方式
方式比较多,感觉好用的一种是伪类缩放,使用transform scale(0.5)
2. 用js将386485473.88转换为386,485,473.88(千位分割符)
var separator = (num)=>{
if(!num){
return '0.00';
}
let str = parseFloat(num).toFixed(2);
return str && str.toString().replace(/(d)(?=(d{3})+.)/g, function($0, $1){
return $1 + ',';
})
}
2018-10-17
1. for in 和 for of的区别
for in可以遍历数组和对象,遍历的是key值。
for of遍历具有 Symbol.iterator 方法的对象,object对象没有这个方法所以不能使用for of,array、map、set、symbol等
2019-02-14
1. cookie的删除,值为空,过期时间为-1即可
function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000); var expires = 'expires=' + d.toUTCString(); document.cookie = cname + '=' + cvalue + '; ' + expires + '; path=/'; //这个很重要代表在那个层级下可以访问cookie console.log(d); }
2019-02-22
element-ui的时间组件,需要设置今天之前的时间不可用,设置方法如下:
<el-date-picker value-format="yyyy-MM-dd" type="daterange" placeholder="开始时间" v-model="dateSelect" style=" 100%;" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" ></el-date-picker> data(){ return { pickerOptions: { disabledDate: time => { return time.getTime() < Date.now() - 8.64e7; // time.getTime() > Date.now() - 8.64e6,这个是今天以后的日期不可用,都不包括今天
} } } }