1. JS 获取零点时间
// 获取当天时间戳
var s1 = new Date(new Date().toLocaleDateString()).getTime()
// 获取当天时间
var s2 = new Date(new Date(new Date().toLocaleDateString()).getTime());
// 获取本周第一天
var day = new Date().getDay() || 7;
var weekStart = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() + 1 - day);
// 获取本月第一天
var MonthFirstDay = new Date(new Date().getFullYear(), new Date().getMonth(), 1);
// 获取本年第一天
var MonthFirstDay = new Date(new Date().getFullYear(), 0, 1);
2. span标签中的内容过长显示...,鼠标浮上显示全部内容
<span class="test" title="hello world">11111111111111111</span>
.test {
border: 1px solid red;
width: 80px;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space: nowrap;
}
3. 生成数组
// 生成全false的二维矩阵
var canretchA = Array.from({ length: m }, () => {
return Array.from({ length: n }, () => false)
})
// 生成0-9的数组
var orgList = Array.from({length:10},(val,index)=>index);
4. 在数组中指定位置删除/添加元素
// 删除的是index为1的那个元素,删除之后的arr为[0,2,3,4]
var arr = [0,1,2,3,4];
arr.splice(1,1); // arr: [0, 2, 3, 4]
// 在index为1处添加元素5
var brr = [0,1,2,3,4]
brr.splice(1,0,5) // brr: [0, 5, 1, 2, 3, 4]
5. vue在data中没有声明的object变量需要在代码中动态加入可以使用
this.$set(this.$data, 'rules', copyRules);
// rules为data中的对象,copyRules为需要更新的对象内容,这样更新的内容会动态的渲染到网页上
6. substr()与substring()的区别
s.substr(i,j)取的是s从i开始,长度为j的子字符串
s.substring(i,j)取的是s从i开始,到j结束的子字符串
7. vue通过路由跳转界面
this.$router.push({
// 在路由中设置的name
name: 'searchFace',
// 跳转路由时所带的参数
params: {
tabName: this.queryIndex,
imgUrl: cardUrl
}
});
// 在新的窗口打开
window.open(href, '_blank')
8. vue获取url查询字符串
// 获取url查询字符串
let searchObj = {};
if (!window) {
return;
}
let str = window.location.hash || '';
if (str && str.split('?')[1]) {
let queryArray = str.split('?')[1].split('&');
queryArray.map(query => {
let searchItem = query.split('=');
if (searchItem.length > 1) {
searchObj[searchItem[0]] = searchItem[1];
}
});
}
9. 使用flex布局时,父元素设置为
display: flex
而某个子元素不设置宽度,而其中的内容很多,并且设置
flex:1
此时该元素的宽度会无超出父元素,如要保证元素宽度在父元素内,就需要设置width
10. 转换时间格式
function(dateTime, formatType) {
// 输入dateTime: 时间戳,可以是字符串
// 输出: 格式化时间,依赖Date转化
var v = '';
if (dateTime) {
if (isNaN(Number(dateTime))) {
return '';
}
dateTime = Number(dateTime);
var date = new Date(dateTime);
// var format = 'yyyy-MM-dd hh:mm:ss';
var format = formatType;
if (typeof formatType === 'undefined') {
format = 'yyyy-MM-dd hh:mm:ss';
}
// sonar 恒为object
// if (typeof date === 'string' || typeof date !== 'object') {
// return;
// }
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// var weekDay = date.getDay();
var ms = date.getMilliseconds();
var weekDayString = '';
// if (weekDay === 1) {
// weekDayString = window.vm.$t('unknow');
// } else if (weekDay === 2) {
// weekDayString = window.vm.$t('Tuesday');
// } else if (weekDay === 3) {
// weekDayString = window.vm.$t('Wednesday');
// } else if (weekDay === 4) {
// weekDayString = window.vm.$t('Thursday');
// } else if (weekDay === 5) {
// weekDayString = window.vm.$t('Friday');
// } else if (weekDay === 6) {
// weekDayString = window.vm.$t('Saturday');
// } else if (weekDay === 7) {
// weekDayString = window.vm.$t('Sunday');
// }
v = format;
// Year
v = v.replace(/yyyy/g, year);
v = v.replace(/YYYY/g, year);
v = v.replace(/yy/g, (year + '').substring(2, 4));
v = v.replace(/YY/g, (year + '').substring(2, 4));
// Month
var monthStr = '0' + month;
v = v.replace(/MM/g, monthStr.substring(monthStr.length - 2));
// Day
var dayStr = '0' + day;
v = v.replace(/dd/g, dayStr.substring(dayStr.length - 2));
// hour
var hourStr = '0' + hour;
v = v.replace(/HH/g, hourStr.substring(hourStr.length - 2));
v = v.replace(/hh/g, hourStr.substring(hourStr.length - 2));
// minute
var minuteStr = '0' + minute;
v = v.replace(/mm/g, minuteStr.substring(minuteStr.length - 2));
// Millisecond
v = v.replace(/sss/g, ms);
v = v.replace(/SSS/g, ms);
// second
var secondStr = '0' + second;
v = v.replace(/ss/g, secondStr.substring(secondStr.length - 2));
v = v.replace(/SS/g, secondStr.substring(secondStr.length - 2));
// weekDay
v = v.replace(/E/g, weekDayString);
}
return v;
},
11. 判断一个值是否为空值
isEmpty(value){
return (
value === undefined ||
value === null ||
(typeof value === "object" && Object.keys(value).length === 0) ||
(typeof value === 'string' && value.trim().length === 0)
)
}
12. JavaScript向上取整,向下取整,四舍五入
// 只保留整数(丢弃小数部分)
parseInt('' + 2.123) // 2
// 向下取整
Math.floor(2.123) // 2
// 向上取整
Math.ceil(2.123) // 3
// 四舍五入
Math.round(2.123) // 2
Math.round(2.567) // 3
// 绝对值
Math.abs(-1) // 1
// 返回两者中的较大值
Math.max(1,2) // 2
// 返回两者中的较小值
Math.min(1,2) // 1
// 生成(0-1)的随机数
Math.random();
13. 获取上一个页面的url
// 使用:vue-router的beforeRouterEnter钩子,一个路由守卫
<script>
export default {
data() {
return {
label: "",
};
},
beforeRouteEnter(to, from, next) {
next((vm) => {
vm.label = '标签'
console.log('来到的界面路由',to)
console.log('目标界面上一界面路由',from)
});
},
methods: {
goTo() {
},
},
};
</script>
使用document.referrer
网友评论