时间格式转换
var now = new Date();
console.log(date.toLocaleString('zh')); // 2019/5/12 14:29:34 console.log(date.toLocaleString('en')); // 5/12/2019, 2:29:34 PM
console.log(now.toLocaleString()); //2019/3/1 下午3:47:46
console.log(now.toString()); //Fri Mar 01 2019 15:47:46 GMT+0800 (中国标准时间)
console.log(now.valueOf()); //1551426466220
console.log(now.toDateString()); //Fri Mar 01 2019
console.log(now.toTimeString()); //15:47:46 GMT+0800 (中国标准时间)
console.log(now.toLocaleDateString()); //2019/3/1
console.log(now.toLocaleTimeString()); //下午3:47:46
console.log(now.toUTCString()); //Fri, 01 Mar 2019 07:47:46 GMT
获取光标在字符串中的索引
const index = (inputRef.value?.$refs.textareaElRef as HTMLInputElement).selectionStart!;
对象变成二维数组
伪数组转换成数组
1.Array.prototype.slice.apply(arr) 2. ...a(展开运算符可以将伪数组转换成真正的数组)
判断不同类型的数据空
对象 JSON.stringify(obj)==='{}'
字符串排序
String(row1.cfieldname).localeCompare(String(row2.cfieldname))
截取第一个,前/后数据
前:str.split(',')[0] 后:str.split(',')[1]
先导入在导出
(上面一行相当于下面两行)
减少if else 的使用
浏览器位置问题
const getRatio = () => {
var ratio = 0;
var screen = window.screen;
var ua = navigator.userAgent.toLowerCase();
if (~ua.indexOf('msie')) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
ratio = window.outerWidth / window.innerWidth;
}
if (ratio) {
ratio = Math.round(ratio * 100);
}
return ratio / 100;
}
const ratio = window.devicePixelRatio;(//不忽略显示设置的缩放)
const ratio = getRatio();(//忽略显示设置的缩放,只关注浏览器左上角的缩放)
const
screenX:浏览器左上角相对于屏幕距离 window.outerWidth:浏览器高度包括自带头部 window.innerWidth:浏览器高度不包括自带头部
解决缩放位置不准的问题(firefox75 只有鼠标screen属性) // 浏览器缩放比例 const ratio = getRatio(); const x = Math.abs(event.screenX - screenX) / ratio; const y = Math.abs(event.screenY - screenY) / ratio - window.outerHeight / ratio + window.innerHeight;