一点js 简短代码

56 阅读1分钟
一行代码抄CSDN  
document.designMode='on'  
一行代码调整 灰色  
document.querySelector('body').style.filter = 'grayscale(100%)'
url 拼接的方式
u = new URLSearchParams();u.append('u', '1');u.append('v', 'v');u.toString()
url 获取的方式
u =  new URLSearchParams(window.location.href.replace(/[^?]+/, '')) u.get('v')
Object.fromEntries(new URLSearchParams(window.location.href.replace(/[^?]+/, ''))) 转 json 了


实现一个函数 , 第一次调用输出0 第二次1 依次累加
 
 VUE 静态属性 [Symbol.toPrimitive] 然后可以得到一个解法 
 const num = {[Symbol.toPrimitive]: ((i) => () => ++i) (-1)};
 +num 每次累加
 
function getID() => typeof getID.counter == 'undefined' ? getID.counter = 0 && 0 : ++getID.counter;  

console.log(getID());
console.log(getID());
console.log(getID());

var getUa = () => {
  var ua = (v) => navigator.userAgent.includes(v) ? v : false;
  return ua('Win') || ua('Mac') || ua('Linux') || 'other';
}
getUa()// 获取浏览器系统环境
 

v1 v2 版本参数 eg:1.0.0 
正数 v1大于v2
为零 v1等于v2
负数 v1小于v2
function compareVersions(v1,v2){
    return v1.split(".").map(Number).map((e,i)=>e* Math.pow(100,3-i)).reduce((acc, curr)=>acc + curr,0) - v2.split(".").map(Number).map((e,i)=>e* Math.pow(100,3-i)).reduce((acc, curr)=>acc + curr,0) 
}
[
  compareVersions("1.0","2.0.1"),
  compareVersions("1.0","1.0.0"),
  compareVersions("3.0","2.0.1"),  
]