zoukankan      html  css  js  c++  java
  • javaScript的基本优雅写法

    1.判断为空

    小白:

    if(a == undefined) a = [];
    if(params.success){
      params.success(res);  
    }

    优雅:

    a = a || [];
    params.success&&params.success(res);

    2.多条件判断

    小白:

        var Statistics = function() {
          console.log('执行')
        }
        switch (currentTab){
          case 0:
            Statistics();
            break;
          case 1:
            Statistics();
            break;
          case 2:
            Statistics();
            break;
          case 3:
            Statistics();
            break;      
        }

    优雅:

     var Statistics = function () {
          console.log('执行')
        }
        const comparativeTotles = new Map([
          [0,Statistics],
          [1,Statistics],
          [2,Statistics],
          [3,Statistics]
        ])
        let map = function(val: any){
          return comparativeTotles.get(val)
        }
        let getMap = map(4)
        if(!getMap){
          console.log('差找不到')
        }else{
          console.log('执行操作')
          getMap()
        }

    3.if else

    小白:

    const onButtonClick = (status: any, identity: any) => {
          if (identity == 'guest') {
            if (status == 1) {
              console.log('do something')
            } else if (status == 2) {
              console.log('do something')
            } else if (status == 3) {
              console.log('do something')
            } else if (status == 4) {
              console.log('do something')
            } else {
              console.log('do something')
            }
          } else if (identity == 'master') {
            if (status == 1) {
              console.log('do something')
            } else if (status == 2) {
              console.log('do something')
            } else if (status == 3) {
              console.log('do something')
            } else if (status == 4) {
              console.log('do something')
            } else {
              console.log('do something')
            }
          }
        }

    优雅:

    const functionA = () => { /*do sth*/}
        const functionB = () => { /*do sth*/}
        const functionC = () => { /*send log*/}
        const actions = new Map([
          ['guest_1', () => { functionA }],
          ['guest_2', () => { functionB }],
          ['guest_3', () => { functionC }],
          ['guest_4', () => { functionA }],
        ])
        const onButtonClick = (identity, status) => {
          let action = actions.get(`${identity}_${status}`) || actions.get('default')
          action.call(this)
        }

     4.一些场景

    //生成随机ID
    Math.random().toString(36).substring(2);
    
    //金钱格式化
    var test1 = '1234567890'
    var format = test1.replace(/B(?=(d{3})+(?!d))/g, ',')
    function formatCash(str) {
      return str.split('').reverse().reduce((prev, next, index) => {
        return ((index % 3) ? next : (next + ',')) + prev
    })  
    }
  • 相关阅读:
    jquery处理鼠标左中右键事件
    bootstrap弹出框
    移动端去掉a标签点击时出现的背景
    sessionStorage
    页面滑动到最下面,执行代码
    判断页面时向上滚动还是向下滚动
    sql 时间查询 /sql中判断更新或者插入/查询一年所有双休日
    求取最大值
    Repeater 获取数据值
    加载完毕后执行计算
  • 原文地址:https://www.cnblogs.com/zhpblog/p/15385794.html
Copyright © 2011-2022 走看看