striveCode
striveCode copied to clipboard
usefull-code-snippets
获取一个地址的参数
const getURLParameters = (url=location.href) =>
(url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
(a, v) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a),
{}
);
console.log(getURLParameters()); //不传参数默认获取当前地址
console.log(getURLParameters('https://www.baidu.com/s?wd=s&rsv_spt=1&rsv_sug4=4')); //{wd:'s', rsv_spt:'1', rsv_sug4:'4'}
httpGet
const httpGet = (url, callback, err = console.error) => {
const request = new XMLHttpRequest();
request.open('GET', url, true);
request.onload = () => callback(request.responseText);
request.onerror = () => err(request);
request.send();
};
httpPost
const httpPost = (url, data, callback, err = console.error) => {
const request = new XMLHttpRequest();
request.open('POST', url, true);
request.setRequestHeader('Content-type', 'application/json; charset=utf-8');
request.onload = () => callback(request.responseText);
request.onerror = () => err(request);
request.send(data);
};
isBrowser
const isBrowser = () => ![typeof window, typeof document].includes('undefined');
随机一个16进制的颜色
const randomHexColorCode = () => {
let n = (Math.random() * 0xfffff * 1000000).toString(16);
return '#' + n.slice(0, 6);
};
转货币
const toCurrency = (n, curr, LanguageFormat = undefined) =>
Intl.NumberFormat(LanguageFormat, { style: 'currency', currency: curr }).format(n);
console.log(toCurrency(123656.789, 'CNY')); //¥123,656.79
console.log(toCurrency(123656.789, 'USD','en-us')); //$123,656.79
具体参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
简单实现一个sleep
用 promise + async await实现
var sleep = function(time, i){
return new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve(i);
},time)
})
}
var run= async function(){
for(var i=0; i<10; i++){
var res = await sleep(2000,i);
console.log(res);
}
};
run();