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 (中国标准时间)
 
posted @ 2022-08-06 20:11  NomNom12138  阅读(368)  评论(0编辑  收藏  举报