美文网首页
JavaScript的小技巧

JavaScript的小技巧

作者: LeeYaMaster | 来源:发表于2019-05-16 23:44 被阅读0次

    1、解决回文(正反顺序相同):

                let a = "12321";
                const checkPalindrom = (str) => {  
                    console.log(str == str.split("").reverse().join(""))
                    return str == str.split("").reverse().join("");
                }
                checkPalindrom(a);
    

    2、数字转日历(1转换成01,采用ES6的方法,一行代码搞定,再也不用写那么多麻烦的语句了):

    '1'.padStart(2,'0');//"01"
    

    3、优化Switch语句

    function test(color) {
      // use switch case to find fruits in color
      switch (color) {
        case 'red':
          return ['apple', 'strawberry'];
        case 'yellow':
          return ['banana', 'pineapple'];
        case 'purple':
          return ['grape', 'plum'];
        default:
          return [];
      }
    }
     
    //test results
    test(null); // []
    test('yellow'); // ['banana', 'pineapple']
    

    优化后:

     const fruitColor = {
        red: ['apple', 'strawberry'],
        yellow: ['banana', 'pineapple'],
        purple: ['grape', 'plum']
      };
     
    function test(color) {
      return fruitColor[color] || [];
    }
    

    4、简写if第一弹:

    //判断是否为空
    if (name !== null || name !== undefined || name !== '') { 
      let name1 = name; 
    }
    
    //简写后
    let name1 = name || '';
    

    5、简写if第二弹:

    //简写前
     if(flag === true){};
    //简写后
    if(flag){}
    //简写前
     if(flag !== true){};
    //简写后
    if(!flag){}
    

    6、网页截屏:

    我们用QQ,可以ctrl+alt+a截屏,但是碰到有滚动条的网页,例如淘宝,就要一直截屏,这里有一个小方法,那就是打开F12,输入ctrl+shift+p,弹出菜单,输入captrue,选择第一个,(列表分别是截取全屏、node 模式以及当前范围)就可以啦


    效果图

    7、浮点数转整数骚操作

    使用位或运算符转换

    console.log(28.6 | 0);  //28
    console.log(-28.6 | 0); //-28
    

    还有一个骚操作,使用~~

    console.log(~~28.6);  //28
    console.log(~~-28.6); //-28
    

    位或运算符可以用于从整数的末尾删除任意数量的数字

    console.log(1234 / 10   | 0)  //123
    console.log(1234 / 100  | 0)  //12
    console.log(1234 / 1000 | 0)  // 1
    

    8、清除空格

      //清除空格,无法清除中间
        trim: function(str) {
            return str.trim();
        },
        //清除空格,包括中间
        trimAll: function(str) {
            str = str.replace(/\s*/g, "");    //所有空格
            str = str.replace(/^\s*|\s*$/g, ""); //两头空格
            str = str.replace(/^\s*/, ""); //左空格
            str = str.replace(/(\s*$)/g, ""); //右空格
            return str;
        },
    

    9、++i,和i++的区别

    a = ++i,相当于 i=i+1; a = i;
    a = i++,相当于 a = i; i=i+1;       
    如果有表达式 a = i++  它等价于 a = i ; i = i + 1;
    如果有表达式 a = ++i  它等价于   i = i + 1; a = i;
    首先两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值
    

    10、过滤HTML字符串,防止XSS攻击

        return String(param)
            .replace(/&/g, '&')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/\\/g, '&#92;')
            .replace(/"/g, '&quot;')
            .replace(/'/g, '&#39;');
    

    11、Github镜像地址

      https://github.com.cnpmjs.org
    

    相关文章

      网友评论

          本文标题:JavaScript的小技巧

          本文链接:https://www.haomeiwen.com/subject/ygdgaqtx.html