使用^切换变量 0 和 1
// 假如我们通过某个条件来切换一个值为0或1
  // if判断
  if (toggle) {
    toggle = 0;
  } else {
    toggle = -1;
  }
使用 & 判断奇偶性
奇数的二进制最后一位必然为1,所以任意一个奇数 & 1 一定等于1
偶数 & 1 = 0
奇数 & 1 = 1
  console.log(2 & 1); // 0
  console.log(3 & 1); // 1
使用 !! 强制转为布尔值
  // 特殊值 undefined, null, 0, -0, NaN, "" 都为false
  console.log(!!-3); // true
  console.log(!!'字符串'); // true
使用+-*/强制转为Number
  let num1 = +'1234'; // Number
  let num2 = '1234' - 0; // Number
  let num3 = '1324' * 1; // Number
  let num4 = '1234' / 1; //Number
使用 ~、>>、<<、>>>、| 来取整
  // 重要字符
  let b = Array(6).join(0); // '000000'7
  let c = Array(6).join('串'); // '串串串串串串'
  // ES6
  let d = '0'.repeat(7); // '0000000'
  // 清空数组
  let arr = [1, 2, 3, 4, 5, 6]
  arr.length = 0 // []
  // Array.slice() Array.concat() 实现数组浅拷贝
  let arr1 = [1, 2, 3, 4, 7, 8]
  let arr2 = arr1.slice() // [1, 2, 3, 4, 7, 8]
  let arr3 = arr1.concat() // [1, 2, 3, 4, 7, 8]
Boolean过滤驻足中的所有假值
  let arr = [0, 1, false, 2, '', 'qwe', 'e' * 12, NaN, undefined, -2, 45]
  let newArr = arr.filter(Boolean)
  console.log(newArr); // [1, 2, 'qwe', -2, 45]
JS || && 妙用 if else选择情况
  // if else
  var str_level = 0;
  if (str_name == 'life) {
    str_level = 1;
  } else if (str_name == 'is') {
    str_level = 2;
  } else if (str_name == 'a') {
    str_level = 3;
  } else if (str_name == 'game') {
    str_level = 4;
  } else {
    str_level = 0;
  }
  // switch
  var = str_level = 0;
  switch (str_name) {
    case 'life': str_level = 1;
    break;
    case 'is': str_level = 1;
    break;
    case 'a': str_level = 1;
    break;
    case 'game': str_level = 1;
    break;
    default: str_level = 0;
    break;
  }
  // && ||
  var str_level = 
      (str_name == 'life' && 1) ||
      (str_name == 'is' && 2) ||
      (str_name == 'a' && 3) ||
      (str_name == 'game' && 4) ||
      0;
  // ---最优---
  function getLevel(str_name) {
    return (
      {
        'life': 1,
        'is': 2,
        'a': 3,
        'game': 4
      }[str_name] || 0;
    )
  }
通过字符串比较时间先后
 var a = '2020-12-12';
 var b = '2020-12-13';
 
 console.log(a > b, a < b) // false true
 console.log('21:00' < "09:10") // false
 console.log('21:00' < '9:10') // true    时间形式注意补0
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号