前端·学习笔记

学习记录未知的事物,努力扩大自己的小圈子。(学而时习之,不亦说乎)

常用小技巧

  • 写 JS 逻辑判断,不要只知道用 if-else 和 switch - 知乎

    小结: 可以利用键值对(object / map)处理复杂的逻辑判断,便于后续维护。【多重判断时,Map 比 Object 更加适合处理】

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // 不同身份、不同状态处理
    function handle(identity, status) {
    const actions = (function () {
    return new Map([
    [/^guest_[1-4]$/, () => {console.log('操作1')}],
    [/^guest_.*$/, () => {console.log('操作2')}],
    [/^master_[2-3]$/, () => {console.log('操作3')}],
    [/^master_.*$/, () => {console.log('操作4')}],
    ]);
    })();

    let curRule = `${identity}_${status}`;
    for(let [rule, action] of actions.entries()) {
    // 优先匹配原则
    if (rule.test(curRule)) {
    action.call(this);
    break;
    }
    }
    }
  • 等待更多… ^ ^

对比思考

-------------本文结束感谢您的阅读-------------
0%