js的标准库
js的标准库
标准库指的是js的标准内置对象,是js这门语言本身初始时提供的在全局范围的对象
数值,字符串,布尔类型,在使用的时候会被对应的原始数据类型包装,组成包装对象
// 静态方法: 只能在原生对象调用,不能通过实例调用。
// 实例方法: 由该构造函数创建的对象,都可以使用的方法。
Number对象
1.Number可以作为构造函数使用
var n = new Number(1);
console.log(n);
  /*   Number { 1 } 
    {
      [[Prototype]]: Number
      [[PrimitiveValue]]: 1
    } */
console.log(n+2); //3
2.Number()
可以做为一个普通函数使用,可以把任意数据类型转为数值类型
parseInt是转为整数,Number是转为数值类型,比parseInt更严谨。
    var num1 = "12.1";
    var num2 = Number(num1);
    console.log(num2, typeof (num2)); //12.1 'number'
3.toString()
把number类型转为字符串类型
    var num1 = 10;
    num1 = num1.toString();
    console.log(num1, typeof (num1)); //'10'string
4.toFixed()
将一个数转为指定位数的小数,返回小数对应的字符串
如果多位小数,会按四舍五入方式转,精度会有问题。
    var num2 = (10.046).toFixed(2);
    console.log(num2, typeof (num2));  //10.05 string
5.自定义方法
在Number对象的原型上定义方法
   Number.prototype.add = function (num) {
      console.log(this);
      return this + num;
    }
    var num3 = 10;
    console.log(num3.add(2));   //Number {10}  12
String对象
包含了堆字符串的操作,所有的字符串的原型都是String
1.String()
也可以作为一个构造函数,返回String对象
    var str1 = new String("abc");
    console.log(str1);  //String {'abc'}
2.fromCharCode(code)
可以返回unicode编码(码点)对应的字符
    var str1 = String.fromCharCode(97, 98, 99);
    console.log(str1); //abc
3.length 属性
返回字符串的长度
    var str1 = "abcdef"; // js运行时是通过String构造函数创建
    console.log(str1.length); //6
4.concat()
连接两个字符串,返回一个新的字符串,不会改变原来的字符串。
    console.log(str1.concat("123")); //abcdef123
5.字符索引值
字符串使用时会被包装为字符串对象,每个字符都会有一个索引值,从0开始。
console.log(str1[2]);  //c
6.slice(startIndex,endIndex)
从指定索引开始截取字符串
会返回新的字符串,不会改变原来的字符串
正数从左往右截取,负数,从右往左。 还有一个substr() 在前面简单数据类型里
    var str2 = "abcdefabc";
    console.log(str2.slice(2, 5)); // 从左往右  cde
    console.log(str2.slice(-4, -1)); // 从右往左  fab
7.substring(startIndex,endIndex)
substr() 和slice一致。
但是不接收负值
    console.log(str2.substring(2, 5)); // 从左往右  cde
    console.log(str2.substring(-4, -1)); //""
8.indexOf(str)
返回一个字符在字符串中第一次出现的位置(索引)。从左往右
lastIndexOf(str)
返回一个字符在字符串中第最后一次出现的位置(索引)。从右往左
    console.log(str2.indexOf("c")) //2
    console.log(str2.lastIndexOf("c"));  //8
9.trim()
去掉字符串的两端空格
    var str3 = "     aa     ";
    console.log(str3.trim()); //aa
10.toLowerCase();
将字符串转为小写
toUpperCase();
将字母转为大写
  var str4 = "HelloWorlld";
  console.log(str4.toLowerCase(), str4.toUpperCase());  //helloworlld HELLOWORLLD
11.match()
用于匹配字符中是否匹配参数字符串
如果匹配成功立刻返回(不会再往后查询)匹配字符串数组
不成功则返回null *
console.log(str4.match("ll")); 
   //['ll', index: 2, input: 'HelloWorlld', groups: undefined]
 console.log(str4.match("lll")); //null
12.search()
用于匹配字符串中参数字符串的第一次出现的位置,
如果匹配成功 立刻返回(不会再往后查询)匹配字符串索引
如果没有匹配,怎返回-1 *
    console.log(str4.search("ll")); //2
    console.log(str4.search("lll"));  //-1
13.replace(str1,str2)
用str2替换匹配的str1字符串,一般只会匹配一次。 *
不改变原字符串
    console.log(str4.replace("ll", "--")); //He--oWorlld
    console.log(str4);  //HelloWorlld
14.split(str)
按参数字符分割为数组(字符串转数组的方法) *。
如果没有找出参数字符,则把整个字符放到数组里面。
如果是空字符,就把字符串每个字符作为数组的元素。
    var str5 = "hi-how-are-you";
    var arr1 = str5.split("-");
    console.log(arr1);   //['hi', 'how', 'are', 'you']
     
    var arr1 = str5.split("#");
    console.log(arr1);   //['hi-how-are-you']
    
    var str5 = "red-you";
    var arr1 = str5.split("");
    console.log(arr1);  //['r', 'e', 'd', '-', 'y', 'o', 'u']
15.localCompare()
比较两个字符串,返回一个整数
小于0则是第一个字符串小于第二字符串
0则是两个字符串相等
大于0表示第一个字符串更大。
内部采用的是unicode编码的比较。
    console.log("ab".localeCompare('ab'));  //0
    console.log("a".localeCompare('A'));  //-1
    console.log("A".localeCompare('a'));  //1
Math对象
提供了各种数学功能,不是一个构造函数,不能产生实例。
1.Math.abs()
返回绝对值
    var num1 = -1;
    console.log(Math.abs(num1)); //1
2.max(a,b,c)
返回参数中最大值
min(a,b,c) 返回参数中最小的值
  console.log(Math.max(1, 3, 9, 7));  //9
  console.log(Math.min(1, 3, 9, 7));  //1
3.floor(num)
返回小于或等于参数值的最大整数(地板值,下舍入)
ceil(num) 返回大于或等于参数值的最小整数(上舍入);
  console.log(Math.floor(3.8)); //3
  console.log(Math.ceil(3.3));  //4
4.round()
四舍五入
console.log(Math.round(3.5));  //4
5.pow(a,b)
幂运算
    console.log(2 ** 3);  //8
    console.log(Math.pow(2, 3)); //8   2为底数,3为指数的幂运算。
    console.log(Math.pow(2)); //NaN
6.sqrt()
平方根
    console.log(Math.sqrt(4));  //2
7.random()
返回0-1之间的随机数,可以等于0,但是不等于1。 0 <= X < 1
这个方法里面不跟参数
var num4 = Math.random();
产生1-3的整数
num4 = Math.floor(Math.random() * 3 + 1);  // 1-3.999999
封装产生范围内的随机整数方法并且包含这2个整数
    function randomInt(min, max) {
      return Math.floor(Math.random() * (max - min + 1) + min)
    }
产生随机的4位验证码的方法
    function randomCode() {
      let str = "";
      for (let i = 0; i < 4; i++) {
        str += randomInt(0, 9);
      }
      return str;
    }
    console.log(randomCode());
8.PI
圆周率
console.log(Math.PI);  //3.141592653589793
Date对象
日期对象,是一个构造函数,获取当前时间作为对象。
日期计算起始时间(零点)是从 1970年1月1日 00:00:00
1.作为普通函数使用
返回当前的时间字符串
    console.log(Date())  //Fri Aug 05 2022 14:38:19 GMT+0800 (中国标准时间)
2.作为构造函数使用
返回日期对象
 var date1 = new Date(); // 默认调用了实例的toString(),显示出来是一个日期字符
 console.log(date1);  //Fri Aug 05 2022 14:38:19 GMT+0800 (中国标准时间)
3.获得总的毫秒数
Date.now()
返回当前时间距离零点时间的毫秒数(时间戳) H5新增
   console.log(Date.now());  //1659681499853
+new Date();
简单的写法(最常用的写法)
var date1 = +new Date();
console.log(date1);   //1659681499853
通过valueOf() getTime( )
        var date = new Date();
        console.log(date.valueOf());    //1659681499853
        console.log(date.getTime());   //1659681499853
4.Date.parse()
解析日期字符串,返回日期离零点直接的毫秒数
console.log(Date.parse('Sun Jul 10 2022 21:45:21 GMT+0800 (中國標準時間)'))//1657460721000
console.log(Date.parse('Sun Jul 10 2022'))   //1657382400000
console.log(Date.parse('2022-10-10 23:10:10'))  //1665414610000
console.log(Date.parse('xxxxx'))   //NaN
5.get方法
获取具体的年月日,时分秒
    var date2 = new Date();
    console.log(date2.getFullYear()); //获取年 2022
    console.log(date2.getMonth() + 1); // 获取月,从0开始计算,需要+1  8
    
    console.log(date2.getDate()); // 获取日期  5
    console.log(date2.getDay()); // 周几,星期日为0。 5
    
    console.log(date2.getHours()); // 获取小时  14
    console.log(date2.getMinutes()); // 获取分钟  46
    console.log(date2.getSeconds()); // 获取秒  44
    console.log(date2.getTime()); // 距离零点的毫秒数(时间戳)。  1659682004450
6. set方法
可以设置日期,与get对应。
var date2 = new Date("2022-10-10 23:10:10"); // 可以传入时间戳,日期字符串转为日期对象。
date2.setFullYear("2033");
date2.setDate(12)
console.log(date2); //Wed Oct 12 2033 23:10:10 GMT+0800 (中国标准时间)
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号