• 你好javascript day9


    1)Math方法

    Math.abs();//绝对值
    Math.floor();//向下舍入
    Math.ceil();//向上舍入
    Math.round();//四舍五入
    // 负数的四舍五入,一般都是转换为正数处理
     var max=Math.max(3,5,7,9,10);//求最大值  10
     var min=Math.min(3,5,7,9,10);//求最小值  3
     console.log(max,min);//10  3
            // 求数组元素的最大值和最小值    
        var arr=[3,6,9,1,5,4];
        var max=Math.max.apply(null,arr);
        var min=Math.min.apply(null,arr);
        console.log(max); //9
    x数的y次幂  Math.pow(x,y);
     
            // 两点距离公式
        function getDistance(point1,point2){
            return Math.sqrt(Math.pow(point2.x-point1.x,2)+Math.pow(point2.y-point1.y,2));
        }
    
    
        var point1={x:100,y:100};
        var point2={x:200,y:200};
       var v=getDistance(point1,point2);
       console.log(v);

    2)string字符方法

     // 这个字符串是存在栈中的
     var str="abcdef";
     // 这个字符串是存在堆中,构造函数创建的一般都是对象,字符型对象
     // var str1=new String("abcdef");
    str[1]="z";
    console.log(str[1]);
    下标的写法,我们可以获取字符串中第几位的字符,但是不能修改设置
     
     length  字符的长度,就是字符串有多少字符组成,字符串的长度无法修改
     length不可以修改
    charAt(下标);
    charCodeAt(下标); 将字符转为Unicode编码
    String.fromCharCode(46) 将编码转换为字符串
    concat  连接字符串  和连接数组一样的用法
    indexOf  lastIndexOf   和数组中indexOf相同查找字符所在下标
    search match   查找  用于正则表达式
    replace  替换  类似于数组中的splice();
            》 数组的splice是修改原数组的内容
            》但是replace不修改原字符的内容,会返回一个被修改后的新字符串
            》如果出现两个相同的元素,那么只修改第一次被查找到的元素
    slice(从下标几开始,到下标几之前结束) 截取复制字符串    允许有负值,负值表示从后向前
    substring   和slice相似    不允许负数,所有的负值指0之前,因此负数都是0
    substr(从下标几开始,截取长度);
    split(分隔符)   将字符串以分隔符进行分割转换为数组
    reverse();数组元素倒序或者反转
    toLowerCase转为小写
    toUpperCase转为大写
     
     
    常用字符Unicode编码
            // 0  48
            // 9  57
            // a  97
            // z  122
            // A  65
            // Z  90
            // 验证码  防止高并发
    
            function getSecurityCode(){
                var arr=[];
                for(var i=48;i<123;i++){
                    if(i>57 && i<65){
                        i=64;
                        continue;
                    }
                    if(i>90 && i<97){
                        i=96;
                        continue;
                    }
                    arr.push(String.fromCharCode(i));
                }
                arr.sort(function(){
                    return Math.random()-0.5;
                });
                arr.length=4;
                return arr.join("");
            }
    
    
    
           var str=getSecurityCode();
           console.log(str); 

     处理引用地址

          function getURLObj(url) {
            // url.split("?") 就可以将url以?分为数组的两个元素
            // [1]  将刚才分割的数组的最后一项获取,获取的内容就是?后面的字符串
            // .split("&") 将?后面的字符串用&符切割为数组
            // reduce是返回一个值 在reduce的第二个参数中给入{},表示给初始值是一个空对象
            // value就是刚才给入的初始值对象
            console.log(url.split("?")[1].split("&"));
            return url
              .split("?")[1]
              .split("&")
              .reduce(function(value, item) {
                //   value就是刚开始空对象
                // item就是切好的数组每个元素,例如"fd=t";
                // 用=切割为数组
                // 给value对象增加属性为=的左边的字符,值为=右边的内容
                // value["fd"]="t";
                var arr = item.split("=");
                value[arr[0]] = arr[1];
                // 返回这个对象,用于下一次的的添加属性
                return value;
              }, {});
          }
    
          var o = getURLObj(str);
          console.log(o);

    3)日期对象

    创建日期对象
    var date=new Date();
    date.getFullYear();获取年份
    date.getYear();
    date.getMonth()+1;获取月份   从0开始
    date.getDate();获取日期
    date.getDay();获取星期  从0开始  0就是星期日 1是星期1
    date.getHours();获取小时
    date.getMinutes();获取分钟
    date.getSeconds();获取秒钟
    date.getMilliseconds();获取毫秒
    date.toLocaleString();转换为本地设置格式时间字符串
    date.toUTCString();转换为格林尼治时间字符串
    date.getTime();毫秒数,1970.1.1 0:0:0 到现在的毫秒数
     
    倒计时
            var targetTime,times,ids;
            init();
            function init(){
                times=document.getElementById("times");
                var date=new Date();
                // 设置时间3小时后
                date.setHours(date.getHours()+3);
                // 获取这个时间的毫秒数,未来的时间戳,这个时间到1970.1.1的毫秒数
                targetTime=date.getTime();
                // 每16毫秒执行下面的函数
               ids=setInterval(enterFrame,16);
            }
    
            function enterFrame(){
                // 每间隔16毫秒执行这个函数
                // 重新获取当前的时间
                var date=new Date();
                // 重新获取当前时间戳 现在到1970.1.1的毫秒数
                var time=date.getTime();
                // console.log(targetTime-time);//10795679 毫秒
                // 用未来到1970.1.1的毫秒数-现在到1970.1.1的毫秒数,这个就是现在到未来的时间差毫秒数
                // 这是毫秒变成秒数,就要/1000,做四舍五入,进到秒
                time=Math.round((targetTime-time)/1000);
                // 10796 秒  1小时3600秒
                      // 1小时是3600秒  除3600向下取整就是小时数
                var hours=Math.floor(time/3600);
        //     1小时3600毫秒,除3600取余数,就是除了小时之外的所有秒数,除60是分钟
                var minutes=Math.floor((time%3600)/60);
                // 用当前秒-小时所用的秒-分所用的秒,就是剩余的秒数
                var seconds=time-hours*3600-minutes*60;
                times.innerHTML=(hours<10 ? "0"+hours : hours)+":"+
                (minutes<10 ? "0"+minutes : minutes)+":"+
                (seconds<10 ? "0"+seconds : seconds);
                if(hours+minutes+seconds===0){
                    clearInterval(ids);
                }
            }
  • 相关阅读:
    Js实现继承的几种方式
    ES6-promise实现异步请求
    CSS重排和重绘
    jq在元素的后面插入内容
    yii2 Query Builder 查询打印sql语句
    js replace(a,b)替换指定字符
    linux 打印当前工作目录
    linux 查看磁盘空间
    linux查看大文件
    js-Cannot read property 'innerHTML' of null
  • 原文地址:https://www.cnblogs.com/zqm0924/p/12907859.html
Copyright © 2020-2023  润新知