【前端三剑客——JS】内置对象及其方法

145 阅读5分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情

上文对JS的对象进行了介绍,而JS中有内置对象,顾名思义就是JS内嵌的对象,其中封装着方法和变量,可以让我们更加方便编程,接下来,我们来讲讲JS 的一些内置对象,以及内置对象的方法

内置对象

JS中对象分成3种:自定义、内置、浏览器对象

(第三个在JS API学到)

  • 内置对象是指JS语言自带的一些对象,提供了一些常用或是最基本且必要的功能
  • Math、Date、Array、String等

MDN可查

Array对象

  • 常用属性: length

  • 常用方法_

    • concat()连接数组

      arrayObject.concat(arrayX, arrayX...);

      a.concat(b,c);
      
  • splice() 删除或替换当前数组某些项目

    arrayObject.splice(start, deleteCount, options);

    位置 数量 替换的数组(可不加)

String对象

  • 常用属性: length

  • 常用方法:

    charAt() // 获取指定位置字符

  • oncat() 连接字符串

Math 对象

非构造函数

具有数字常数和函数的属性和方法(求绝对值, 取整., 最大值等)

Math.PI
Math.floor()  //向下取整
Math.ceil()   //向上取整
Math.round()  //四舍五入版 就近取整
Math.abs()    //绝对值
Math.max()/Math.min()

random函数 随机返回一个小数

若想得到一个两数之间的 随机整数(包括本身)

function getRandom(min, max){
    return Math.floor(Math.random() * (max - min + 1 )) + min;
}

Date 对象

  • 是一个构造函数,需要对象实例化才可使用
  • 用来处理日期和时间
  1. 获取当前时间

    var now = new Date();
    console.log(now);
    
  2. Date()构造函数的常数

    若括号内有时间,则返回参数里面的时间

  3. 日期格式化

    想要2022-5-25 20:28:45的格式?我们需要手动获取日期指定部分

    方法名说明
    getFullYear()当年
    getMonth()当月
    getDate()当日
    getDay()星期
    getHours()小时
    getMinutes()分钟
    getSeconds()秒钟

数组对象

两种方式

  • 字面量
  • new Array()

检测是否为数组

  • instanceof 运算符
  • Array.isArray()
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false

添加删除数组元素的方法

push(参数1...) 末尾添加一个或多个元素,修改原数组 并返回新的长度

pop() 删除数组最后一个元素.数组长度减1 返回它删除的元素的值

unshift(参数1...) 向数组的开头添加一个或多个元素,修改原数组 返回新长度

shift() 删除数组的第一个元素,数组长度减1,修改原数组 返回第一个元素的

数组排序

reverse() 颠倒数组中元素的顺序,无参数 改变原来的数组,返回新数组

sort() 对数组的元素进行排序 改变原来数组,返回新数组

var arr = [1, 64, 9, 6];
arr.sort(function(a,b){
    return b - a;  //降a序
    //return a -b ; //升序
});

arrayObject.sort(sortby)l;

sortby 是可选的,必须是函数,如果没有参数将会按字母顺序排序,准确来说按字母编码

数组索引方法

indexOf() 数组中查找给定元素的第一个索引 存在则返回索引号,不存在则返回-1

indexOf区分大小写

lastindexOf() 在数组中的最后一个的索引 存在则返回索引号,不存在则返回-1

数组转换为字符串

toString 把数组换成字符串,逗号分隔 返回一个字符串

join('分隔符') 用于把数组中所有元素转换为一个字符串 返回一个字符串

其他

image-20220525210302394

字符串对象

1. 基本包装类型

把简单数据类型包装成复杂数据类型,这样基本数据类型就有了属性和方法

为了方便操作,JS提供了三个特殊应用类型,String Number Boolean

代码:

var str = 'andy';
console.log(str.length);

执行过程:

// 1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
// 2. 赋值给我们声明的字符变量
str = temp;
// 3. 销毁临时变量
temp = null;

2. 字符串的不变性

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间

var str = 'abc';
str = 'hello';
// 当重新给 str 赋值的时候,常量'abc'不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
var str = '';
for (var i = 0; i < 100000; i++) {
    str += i;
}
console.log(str); // 这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间

3. 根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串

image-20220525211138685

4. 根据位置返回字符

image-20220525211303899

5. 字符串操作方法

image-20220525211541900

6. replace()方法

用于在字符串中用一些字符替换另一些字符

语法:

replace(被替换的字符串, 要替换为的字符串);

只能替换第一个出现的字符串

可以用全局替换,

string.replace(/study/g, 'sleep');

7. split()方法

用于切分字符串,可以将字符串切分成数组,返回一个新数组

var str = 'a,b,c,d';
console.log(str.split(','));   // 返回的是一个数组 [a, b, c, d]

8.

toUpperCase() 大写

toLowerrCase() 小写