JavaScript学习笔记 ——Math方法,String方法,Date方法

这篇博客详细介绍了JavaScript中的Math对象方法,如获取绝对值、取最大值等;String对象的方法,包括字符获取、转换、拼接等;以及Date对象的获取与设置日期、时间戳等相关操作。通过实例展示了如何生成随机验证码、解析URL链接等实用技巧。
摘要由CSDN通过智能技术生成

目录

MATH方法

string 字符串方法

str.charAt(下标); //获取下标位置的字符

str.charCodeAt(下标); // 将下标位置的字符转为Unicode编码

String.fromCharCode(46) //将编码转换为字符串

生成随机验证码

str.concat()   连接字符串 效果等同于 +

str.indexOf()  str.lastIndexOf()   和数组中indexOf相同查找字符所在下标

search match   查找  用于正则表达式

str.replace()  替换  类似于数组中的splice();

str.slice(start,end) 截取复制字符串

str.substring() 截取

str.substr(从下标几开始,截取长度);

str.split(分隔符)   将字符串以分隔符进行分割转换为数组

arr.reverse();数组元素倒序或者反转 // 这是一个数组方法

str.toLowerCase转为小写 

str.toUpperCase转为大写

将对象型数组转换成一整个字符串的链接

将url 链接还原成对象

将url 链接还原成对象 (优化版)

日期对象

获取

   date.getFullYear(); //获取年份

   date.getYear(); //获取的年份是从1900年开始计算的,有问题

   date.getMonth()+1; //获取月份 从0开始

   date.getDate(); //获取日期

   date.getDay(); //获取星期  从0开始  0就是星期日 1是星期1

   date.getHours(); //获取小时

   date.getMinutes(); //获取分钟

   date.getSeconds(); //获取秒

   date.getMilliseconds(); //获取毫秒

设置(以上可获取的均可设置)

       date.setFullYear(2021);

       date.setMonth(12); //1月,进位了年份+1 是从0开始的;

       ate.setDate(40); //设置进位了

       date.setHours(date.getHours()+2);//设置为现在时间的2小时后

       date.getUTCFullYear() //凡是带有UTC这些都是格林尼治时间

       date.toString(); //直接转换为字符串

       date.toLocaleString(); //转换为本地(windows上)设置格式时间字符串

       date.toUTCString(); //转换为格林尼治时间字符串

  时间戳


 

 

MATH方法

  • Math.PI; Π

  • Math.SQRT2; 根号2 常量,只能使用不能修改

  • Math.abs(); //绝对值

  • Math.floor(); //向下取整

  • Math.ceil(); //向上取整

  • Math.round(); //四舍五入 

    // 负数的四舍五入,一般都是转换为正数处理

    // -4+0.5;  -3.5

    // -4+0.6;  -3.4;

    // -4+0.4;   -3.6;

  • Math.max(); //取最大值

  • Math.min(); //取最小值

        // 求数组元素的最大值和最小值    

    var arr=[3,6,9,1,5,4];

    var max=Math.max.apply(null,arr);    // apply 改变this的指向,当第一个参数为null、undefined的时候,默认指向window。

    var min=Math.min.apply(null,arr);

    console.log(max); 

 

 

  • Math.pow(x,y); // x数的y次幂 

  • Math.sqrt(x) //  求x的平方根

    // var num=Math.pow(8,1/3); 8的立方根 pow 也可以用来求立方根或开平方

    // var num=Math.pow(9,1/2); 9的开平方 但是pow开平方的速度没有sqrt快

        // 两点距离公式

    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的多少次幂  

    // console.log(1<<2); 2的2次幂

    // console.log(1<<4); 2的4次幂 上限32次幂 当携程1<<32 会打印1

 

 

 

string 字符串方法

var str="abcdef";    // 这个字符串是存在栈中的

var str1=new String("abcdef"); // 这个字符串是存在堆中,构造函数创建的一般都是对象,字符型对象

console.log(str==str1); // true

console.log(str===str1); //false

 

console.log(str[1]);

str[1]="z";    // 这种下标的写法,我们可以获取字符串中第几位的字符,但是不能修改设置

console.log(str);

 

console.log(str.length);

str.length=0;   // length  字符的长度,就是字符串有多少字符组成,字符串的长度无法修改

console.log(str);

 

       var s=""; // 复制字符串

        for(var i=str.length-1;i>=0;i--){

            s+=str[i];

        }

        console.log(s);

 

 

 

 

  • str.charAt(下标); //获取下标位置的字符

  • str.charCodeAt(下标); // 将下标位置的字符转为Unicode编码

  • String.fromCharCode(46) //将编码转换为字符串

        console.log(str.charAt(1)); //和str[1]; 一样

        console.log(str.charCodeAt(0));

        // var str="09azAZ";

        // 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); 

 

 

  • str.concat()   连接字符串 效果等同于 +

        var str="abc";

        var str1="def";

        var str2=str.concat(str1);  // var str2=str+str1;   这个等同于concat

        console.log(str2); 

 

 

  • str.indexOf()  str.lastIndexOf()   和数组中indexOf相同查找字符所在下标

 

        var arr=[

            {id:1001,name:"计算机",price:4999},

            {id:1002,name:"电机",price:1999},

            {id:1003,name:"记事本",price:9},

            {id:1004,name:"课本",price:99},

            {id:1005,name:"计算器",price:149},

        ]; 

 

        // 模糊查找

       var arr1=arr.filter(function(item){

             return item.name.indexOf("本")>-1 

             });

        console.log(arr1); 

 

  •    search match   查找  用于正则表达式

        // var str="abcde";

        // console.log(str.search("f"));

        // console.log(str.match("b"))

 

 

 

  •   str.replace()  替换  类似于数组中的splice();

        // 数组的splice是修改原数组的内容

        // 但是replace不修改原字符的内容,会返回一个被修改后的新字符串

        // 如果出现两个相同的元素,那么只修改第一次被查找到的元素

       var str="abcdecf";

       var str1=str.replace("c","z");

       str.replace()

       console.log(str,str1);

        

 

 

  •  str.slice(start,end) 截取复制字符串

            // slice(从下标几开始,到下标几之前结束) 截取复制字符串

            // 允许有负值,负值表示从后向前

            var s=str.slice(1,2);

 

  •  str.substring() 截取

            // var s=str.substring(2,4);//和slice相似

            // substring不允许负数,所有的负值指0之前,因此负数都是0

            //  可以逆向截取赋值

            // var s=str.substring(4,2);

            // console.log(s);

 

  •  str.substr(从下标几开始,截取长度);

            // var s=str.substr(-2,5);

            // console.log(s);

 

  •  str.split(分隔符)   将字符串以分隔符进行分割转换为数组

      //  var str="a,b,c,d,e,f";

      //  var arr=str.split(",");

      //  console.log(arr);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值