Skip to content
On this page
  1. 对比工具 :Kaleidoscope
  2. html导出为word : html-docx-js
  3. html导出为pdf: jsPDF, iText

时间

  • 秒数转为日时分秒

    getTime(start: Date, future: Date) {
        const sec = (future.getTime() - start.getTime()) / 1000
        return {
            day: Math.floor(sec / (24 * 3600)),
            hour: Math.floor((sec / 3600) % 24),
            minute: Math.floor((sec / 60) % 60),
            second: Math.floor(sec % 60)
        }
    }
    
  • 掩码数字

    let cardNumber = '1234567890';
    let last3Digit = cardNumber.slice(-3);//'890'
    let maskNumber = last3Digit.padStart(cardNumber.length,'*')//'*******890'
    
  • 交换两个变量

    let a = 'a';
    let b = 'b';
    [b,a] = [a,b]
    
  • JSON.stringify 替换参数的威力

const obj = {name:'zjh',salary:3000};
const doubleSalary = (key,value)=>{return key === 'salary' ? value*2 : value}
const result = JSON.stringify(obj,doubleSalary)//'{"name":"zjh","salary":6000}'
  • 给某个DOM批量取消事件监听

    const evtBtn = document.querySelector('.event');
    const cancelBtn = document.querySelector('.cancel');
    
    const evtHandler = (e) => console.log(e);
    const mdHandler = (e) => console.log(e);
    const muHandler = (e) => console.log(e);
    
    const ac = new AbortController();
    const { signal } = ac;
    
    evtBtn.addEventListener('click', evtHandler, { signal });
    evtBtn.addEventListener('mousedown', mdHandler, { signal });
    evtBtn.addEventListener('mouseup', muHandler, { signal });
    
    // 点击 cancelBtn 移除 evtBtn 按钮的 click 事件监听
    cancelBtn.addEventListener('click', function () {
        ac.abort();
    });
    

    addEventListener 的第三个参数可以是一个 options 对象,这个对象可以让我们传递一个 signal 对象用来作为事件取消的信号对象。就像上面我们使用 signal 对象来取消 fetch 请求那样。

  • 轮播图切换规律

    当我们的图片切换到四张轮播图的最后一张,下一张应该是第一张,但是这样直接切回第一张没有了过渡效果,我们想要的是四张轮播图片像是一个圆,一直无缝循环

    所以我们就在四张轮播图的再后面放上第一张图片,当四张轮播图切换完后,下一张就切换到新增的这第一张图片,切换完毕,我们再趁机切换到四张图片的第一张,注意这次切换时无过渡效果的,这样图片播放又从第一张图片开始。

  • devtool

    const openInEditor = require('launch-editor-middleware')
    
    
  • clone 快一点 。git clone --depth=1 --single-branch git**@github**.com:ElemeFE/element.git

  • resolveSourceMapLocations map 文件默认和执行文件处于同一目录,如有特殊情况需要设置 resolveSourceMapLocations 告知调试器去哪些目录找 map 文件