striveCode icon indicating copy to clipboard operation
striveCode copied to clipboard

usefull-code-snippets

Open itstrive opened this issue 7 years ago • 1 comments

获取一个地址的参数

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

itstrive avatar Jan 11 '19 07:01 itstrive

简单实现一个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();

itstrive avatar Jun 27 '19 08:06 itstrive