zoukankan      html  css  js  c++  java
  • javascript日常小记

    1滚动条始终保持在底部

    obj.scrollTop = obj.scrollHeight;

    2时间转换一位转两位

    function toTwo(time){
      if(time<10){
        return '0'+time;
      }else{
        return ''+time;
      }
    }

    3字符串转十六进制

    function stringToHex(str){
      var val="";
     for(var i = 0; i < str.length; i++){
        val += (str.charCodeAt(i).toString(16)+' ');
     }
     return val;
    }
    function stringToHex(str){
      var val="";
     for(var i = 0; i < str.length; i++){
        var hex = str.charCodeAt(i).toString(16);
        var lng = hex.length;
        if(lng==1){
          hex = '0'+hex;
        }
        val += hex+' ';
     }
     return val;
    }
    
    
    
     

    4十六进制转字符串

    function hexToString(str){
      var lng = str.length;
      // 如果最后一位是空格就删除
      if(str.substring(lng-1,lng)==" "){
        str = str.substring(0,lng-1);
      }
     var val="";
     var arr = str.split(" ");
     for(var i = 0; i < arr.length; i++){
       val += String.fromCharCode(parseInt(arr[i],16));
     }
     return val;
    }

    function hexToString(str){ // 移除头尾空白 str = str.trim(); var val=""; var sval=""; var arr = str.split(''); // 循环去除空格 for(var i = 0; i < arr.length; i++){ if(arr[i]!=' '){ sval += arr[i] } } var lng = sval.length; if(lng%2==1){ sval = sval.substring(0,lng-1)+'0'+sval.substring(lng-1,lng); } for(var j=0;j<sval.length;j+=2){ val += String.fromCharCode(parseInt(sval.substring(j,j+2),16)); } return val; }

    5生成n位随机字母

    function getRand(){
      var arr = [];
      var rannum = Math.ceil(Math.random() * 10); //生成一个0到10的数字
      for(var i=0;i<rannum;i++){
        var ranNum = Math.ceil(Math.random() * 25); //生成一个0到25的数字
        arr.push(String.fromCharCode(97+ranNum));
      }
      return arr.join('');
    }

    6时间戳转换日期

    var UnixToDate = function(unixTime, isFull) {
     
        var time = new Date(unixTime);
        var ymdhis = "";
     
        function toTwo(n){
          if(n<10){
            return '0'+n;
          }else{
            return ''+n;
          }
        };
     
        ymdhis += time.getFullYear() + "/";
        ymdhis += (toTwo(time.getMonth()+1)) + "/";
        ymdhis += toTwo(time.getDate());
        if (isFull === true)
        {
            ymdhis += "  " + toTwo(time.getHours()) + ":";
            ymdhis += toTwo(time.getMinutes()) + ":";
            ymdhis += toTwo(time.getSeconds());
        }
        return ymdhis;
    }
    1. unixTime:参数类型(int)   时间戳(毫秒)               
    2. isFull:参数类型(bool)   true返回完整时间(Y-m-d H:i:s),false返回日期(Y-m-d)

    7获取两个日期的天数差

    function GetDateDiff(startDate,endDate){
        var startTime = new Date(Date.parse(startDate.replace(/-/g,"/"))).getTime();
        var endTime = new Date(Date.parse(endDate.replace(/-/g,"/"))).getTime();
        var dates = Math.abs((startTime - endTime))/(1000*60*60*24);
        return dates;
    }

    8根据年月获得当月天数

            function getDaysInMonth(year,month){
              month = parseInt(month,10); //parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。
              var temp = new Date(year,month,0);
              return temp.getDate();
            }

    9遍历开始和结束时间的具体天数

            function getDateList(startDate,endDate){
                var startTimeDate = new Date(Date.parse(startDate.replace(/-/g,"/")));
                var startTime = startTimeDate.getTime();
                var endTimeDate = new Date(Date.parse(endDate.replace(/-/g,"/")));
                var endTime = endTimeDate.getTime();
                var dateList = [];
    
                for (var i = startTime; i <= endTime; i=i+1000*60*60*24) {
                    var date = new Date(i);
                    dateList.push(date.getFullYear()+'年'+(date.getMonth()+1)+'月'+date.getDate()+'日');
                }
                return dateList;
            }

    10获取地址栏参数

    function GetQueryString(name){
      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
      // search得到的是url中?部分,substr()返回一个从指定位置开始的指定长度的子字符串,这里设置为1,是为了把url中的?号去掉
      var r = window.location.search.substr(1).match(reg);
      if(r!=null){
        return unescape(r[2]);
      }
        return null;
    }

     11自己封装的cookie方法

    // 设置cookie
    function setCookie(name,value,iDay){
      var oDate=new Date();
      oDate.setDate(oDate.getDate()+iDay);
      // 加密
      var str = '';
      for (var i = 0; i < value.length; i++) {
        str += String.fromCharCode(value.charCodeAt(i)-500);
      }
    
      document.cookie=name+'='+str+';expires='+oDate;
    };
    
    // 获取cookie
    function getCookie(name){
      var arr1=document.cookie.split('; ');
      for (var i = 0; i < arr1.length; i++) {
        var arr2=arr1[i].split('=');
        if(arr2[0]==name)
        {
          // 解密
          var str = '';
          for (var i = 0; i < arr2[1].length; i++) {
            str += String.fromCharCode(arr2[1].charCodeAt(i)+500);
          }
          return str;
        }
      }
      return '';//如果没有找到返回空
    };
    
    // 删除cookie
    function removeCookie(name){
      setCookie(name,1,-1);
    };
    

    12全选与全不选

              function jQueryCheckAll() {
                var checkAll = $('#s-all');
                var items = $('#list :checkbox');
    
                checkAll.click(function () {
                  if ($(this).prop('checked')) {
                    items.each(function () {
                      $(this).prop('checked', true);
                    })
                  }
                  else {
                    items.each(function () {
                      $(this).prop('checked', false);
                    })
                  }
                  items.click(function () {
                    checkAll.prop("checked", items.length == $('#list :checkbox:checked').length ? true : false);
                  });
                })
              }
    

    13时间在一个小时内换成多少分钟前

          function getDateDiff(dateTimeStamp){
            var UnixToDate = function(unixTime, isFull) {
              var time = new Date(unixTime);
              var ymdhis = "";
              function toTwo(n){
                if(n<10){
                  return '0'+n;
                }else{
                  return ''+n;
                }
              };
              ymdhis += time.getFullYear() + "/";
              ymdhis += (toTwo(time.getMonth()+1)) + "/";
              ymdhis += toTwo(time.getDate());
              if (isFull === true){
                ymdhis += "  " + toTwo(time.getHours()) + ":";
                ymdhis += toTwo(time.getMinutes()) + ":";
                ymdhis += toTwo(time.getSeconds());
              }
              return ymdhis;
            }
            var minute = 1000 * 60;
            var now = new Date().getTime();
            var diffValue = now - dateTimeStamp;
            if(diffValue < 0){
              return;
            }
            var minC =diffValue/minute;
            console.log(minC);
            var result
            if(minC<1){
              result = "刚刚";
            }else if(minC>=1&&minC<=59){
              result = ""+ parseInt(minC) +"分钟前";
            }else{
              result = UnixToDate(dateTimeStamp,true)
            }
            return result;
          }
    

    14在数组对象内根据key值找对应的value

    function changeValue(val,value,label,arr){
      var obj = {};
      obj = arr.find(function(item){
        return item[value] === val;
      });
      return obj[label];
    }

     15字符串转16进制

          function stringToHex(str){
            var val="";
           for(var i = 0; i < str.length; i++){
              val += str.charCodeAt(i).toString(16);
           }
           return val;
          }

    16 16进制转字符串

      //  // 十六进制转字符串
      function hexToString(str){
        // 移除头尾空白
        str = str.trim();
        var val="";
        var sval="";
        var arr = str.split('');
    
        console.log(arr)
        for(var i = 0; i < arr.length; i++){
          if(arr[i]!=' '){
            sval += arr[i]
          }
        }
    
        for(var j=0;j<sval.length;j+=2){
          val += String.fromCharCode(parseInt(sval.substring(j,j+2),16));
        }
        return val;
      }
      str = ' 6b6b ';
      console.log(hexToString(str))

     16根据当前月份计算最近的月份

        function getLatelyMonth(n){
          // var monthOfYear = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
          // 或者中文,根据你的需求自己定
          var monthOfYear = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];
          var date = new Date();
          // 月份数组
          var nearThree = [];
          // 当月
          var month = date.getMonth();
          // 现将本月推入数组
          nearThree.push(monthOfYear[month]);
          for (var i = 1; i < n; i++) {
            date.setMonth(month - i);
            nearThree.unshift(monthOfYear[date.getMonth()]);
          }
          return nearThree;
        }

     17根据月份推算相对应的日期

          var arrM1 = ["十一月", "十二月", "一月", "二月", "三月", "四月"];
          var arrM2 = ["一月", "二月", "三月", "四月"];
          var arrM3 = ["二月", "三月", "四月"];
          console.log(arrM1.indexOf('一月'));
          console.log(arrM2.indexOf('一月'));
          console.log(arrM3.indexOf('一月'));
          function startoend(arr){
            function turnToArr(str){
              switch (str) {
                case '一月':
                  str = 1;
                  return str;
                  break;
                case '二月':
                  str = 2;
                  return str;
                  break;
                case '三月':
                  str = 3;
                  return str;
                  break;
                case '四月':
                  str = 4;
                  return str;
                  break;
                case '五月':
                  str = 5;
                  return str;
                  break;
                case '六月':
                  str = 6;
                  return str;
                  break;
                case '七月':
                  str = 7;
                  return str;
                  break;
                case '八月':
                  str = 8;
                  return str;
                  break;
                case '九月':
                  str = 9;
                  return str;
                  break;
                case '十月':
                  str = 10;
                  return str;
                  break;
                case '十一月':
                  str = 11;
                  return str;
                  break;
                default:
                  str = 12;
                  return str;
              }
            }
    
            var numMonth = [];
            for (var i = 0; i < arr.length; i++) {
              numMonth[i] = turnToArr(arr[i])
            }
            console.log(numMonth);
            var index = arr.indexOf('一月');
            var date=new Date;
            var year=date.getFullYear();
            if(index>0){
              var date = year-1+'.'+numMonth[0]+'—'+year+'.'+numMonth[arr.length-1]
              return date
            }else{
              var date = year+'.'+numMonth[0]+'—'+year+'.'+numMonth[arr.length-1]
              return date
            }
          }
          console.log(startoend(arrM1));
          console.log(startoend(arrM2));
          console.log(startoend(arrM3));

     18.字符串转Unicode,Unicode转字符

              function toUnicode(str){
                var unicodearr = []
                for (var i = 0; i < str.length; i++) {
                  unicodearr.push(str.charCodeAt(i))
                }
                return unicodearr.join(',')
              }

    function toStr(str) {
      var arr = str.split(',')
      var res = ''
      for (var i = 0; i < arr.length; i++) {
        res+=String.fromCharCode(arr[i])
      }
      return res
    }

     

     19生成范围的随机数

            // min:最小值 max:最大值 num:生成几个 dec保留几位小数
            function randomNum(min,max,num,dec) {
                let randArr = []
                for (let i = 0; i < num; i++) {
                    let randNum = Number((Math.random() * (max-min) + min).toFixed(dec))
                    randArr.push(randNum)
                }
                return randArr
            }
            console.log(randomNum(20,30,3,2)); // [20.92, 22.13, 23.21]
  • 相关阅读:
    查询解决问题的方法
    C++实现网格水印之调试笔记(三)—— 初有结果
    C++实现网格水印之调试笔记(二)
    C++实现网格水印之调试笔记(一)
    C++调用matlab实例
    C++调用Matlab引擎及Eigen配置
    A Blind Watermarking for 3-D Dynamic Mesh Model Using Distribution of Temporal Wavelet Coefficients
    Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain
    Apriori学习笔记
    Robust Mesh Watermarking
  • 原文地址:https://www.cnblogs.com/zwhbk/p/6482510.html
Copyright © 2011-2022 走看看