视频加载失败

JavaScript常用API-更新中

2052 字
10 分钟
JavaScript常用API-更新中

记录一些JavaScript中经常用到的一些API,方便后续可以快速查看,如字符串、数组的方法,对象的遍历,还有后续ES6的常用API

字符串方法#

方法功能
charAt()得到指定位置的字符
substring()提取子串,从a开始到b
substr()提取子串,从a开始,长度为b
slice()提取子串,从a开始到b结束(不包括b处)
toUpperCase()将字符串转换为大写
toLowerCase()将字符串转换为小写
indexOf()检索字符串,返回指定内容首次出现的位置

charAt()方法

  • charAt()方法可以得到指定位置的字符

    '我喜欢JS,我也喜欢HTML'.charAt(0) // '我'
    '我喜欢JS,我也喜欢HTML'.charAt(11) // 'T'
    '我喜欢JS,我也喜欢HTML'.charAt(74) // ''

substring()、substr()和slice()

  • substring(a, b) 方法得到从a开始到b结束(不包括b处)的子串

    '我喜欢JS,我也喜欢HTML'.substring(3, 5) // 'JS'
    '我喜欢JS,我也喜欢HTML'.substring(10, 14) // 'HTML'
  • substring(a) 方法如果省略第二个参数,返回的子串会一直到字符串 的结尾

    '我喜欢JS,我也喜欢HTML'.substring(6) // '我也喜欢HTML'
  • substring(a, b) 中,a可以大于b,数字顺序将自动调整为小数在前

    '我喜欢JS,我也喜欢HTML'.substring(5, 3) // 'JS'
  • substr (a, b)中,将得到从a开始的长度为b的子串

    '我喜欢JS,我也喜欢HTML'.substr(3, 2) // 'JS'
  • substr(a, b)中,b可以省略,表示到字符串结尾

    '我喜欢JS,我也喜欢HTML'.substr(3) // 'JS,我也喜欢HTML
  • substr (a, b)中,a可以是负数,表示倒数位置

    '我喜欢JS,我也喜欢HTML'.substr(-4, 2) // HT'
  • slice(a, b)方法得到从a开始到b结束(不包括b处)的子串

    '我喜欢JS,我也喜欢HTML'.slice(3, 5) // 'JS'
  • slice(a, b)的参数a可以是负数

    '我喜欢JS,我也喜欢HTML'.slice(-4, -1) // 'HTM'
  • slice(a, b)中,参数a必须小于参数b

    '我喜欢JS,我也喜欢HTML'.slice(5, 2) // ''

对比总结

  • substring(a, b)和slice(a, b)功能基本一致,都是得到从a开始到b 结束(不包括b)的子串,区别:

    ① substring()可以自动交换两个参数位置,而slice()不行;

    ②slice()的参数a可以是负数,而substring()不行。

  • substr(a, b)中参数b是子串长度,而不是位置编号

toUpperCase()和toLowerCase()

  • toUpperCase() 转为大写

  • toLowerCase() 转为小写

    'i love you'.toUpperCase(); // 'I LOVE YOU'
    'IMOOC'.toLowerCase(); // 'imooc'

indexOf()

  • indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置

  • 如果要检索的字符串值没有出现,则该返回 -1

    'abcdeb'.indexOf('b') // 1
    'abcdeb'.indexOf('de') // 3
    'abcdeb'.indexOf('m') // -1

数组的常用方法#

数组提供大量内置方法,主要包括添加、删除、查找、遍历、排序和转换。这里只列举一些常用的,在ES6语法中会再增加一些(slice、splice、split这三个英文非常像,初学很可能弄混,这三个是完全不一样功能的,split是字符串的方法,数组可以通过join转字符串,字符串可以使用split转为数组)

添加与删除:这5个是最基础的,splice是功能最多的,push和pop是开发中最常用的

方法作用是否修改原数组
push()末尾添加元素是
pop()删除末尾元素是
unshift()开头添加元素是
shift()删除开头元素是
splice()添加、删除或替换指定位置元素是

push()方法:(末尾追加)

  • push()方法用来在数组末尾推入新项,参数就是要推入 的项

  • 如果要推入多项,可以用逗号隔开

  • 调用push()方法后,数组会立即改变,不需要赋值

    var arr = [1, 2, 3];
    arr.push(4);
    console.log(arr); // [1, 2, 3, 4]
    arr.push(5, 6);
    console.log(arr); // [1, 2, 3, 4, 5, 6]

pop()方法:(删除末尾)

  • 与push()相反,pop()方法用来删除数组中的最后一项

  • pop()方法不仅会删除数组末项,而且会返回被删除的项

    var arr = [1, 2, 3, 4];
    var item = arr.pop();
    console.log(arr); // [1, 2, 3]
    console.log(item); // 4

unshift()方法:(头部插入)

  • unshift()方法用来在数组头尾插入新项,参数就是要 插入的项

  • 如果要插入多项,可以用逗号隔开

  • 调用unshift()方法后,数组会立即改变,不需要赋值

    var arr = [2, 3, 4];
    arr.unshift(1);
    console.log(arr); // [1, 2, 3, 4]
    arr.unshift(-1, 0);
    console.log(arr); // [-1, 0, 1, 2, 3, 4]

shift()方法:(删除头部)

  • 与unshift()相反,shift()方法用来删除数组中下标为0 的项

  • shift()方法不仅会删除数组末项,而且会返回被删除的项

    var arr = [10, 20, 30];
    var item = arr.shift();
    console.log(arr); // [20, 30]
    console.log(item); // 10

splice()方法

  • splice()方法第一个参数是从哪个下标开始,第二个参数是删除多少个项

    arr.splice(起始下标, 删除个数)
    var arr = ['A','B','C','D','E','F','G'];
    arr.splice(3,2,'X','Y','Z');
    console.log(arr);
    // 下标3开始,连续替换2项;这种说法错误的
    // 准确是:下标3开始,连续删除2项,然后插入新元素
    // [ 'A', 'B', 'C', 'X', 'Y', 'Z','F', 'G']
  • splice()方法可以用于在指定位置插入新项(第二个参数设置0,就没有删除项)

    arr.splice(起始下标, 0, 新元素)
    var arr = [1, 2, 5, 6];
    arr.splice(2, 0, 3, 4);
    console.log(arr); // [1, 2, 3, 4, 5, 6]
  • splice()方法可以用于删除指定项;result返回被删除的项

    arr.splice(起始下标, 删除个数)
    var arr = [10, 20, 30, 40];
    var result = arr.splice(1, 1);
    console.log(arr); // [10, 30, 40]
    console.log(result); // [20]
  • splice()方法会以数组形式返回被删除的项

查找与判断:

方法作用返回值
indexOf()查找元素首次出现的位置下标或 -1
lastIndexOf()查找元素最后出现的位置下标或 -1
includes()判断是否包含元素布尔值
find()查找第一个符合条件的元素元素或 undefined
findIndex()查找第一个符合条件的元素下标下标或 -1
some()是否至少一个元素符合条件布尔值
every()是否所有元素符合条件布尔值

indexOf()方法的功能是搜索数组中的元素,并返回它所 在的位置,如果元素不存在,则返回-1

var arr = ['A', 'B', 'C', 'D'];
console.log(arr.indexOf('B')); // 1
console.log(arr.indexOf('Z')); // -1

includes()方法的功能是判断一个数组是否包含一个指定 的值,返回布尔值

var arr = ['A', 'B', 'C'];
console.log(arr.includes('B')); // true
console.log(arr.includes('Z')); // false

截取、合并与转换

方法作用是否修改原数组
slice()截取数组片段否
concat()合并数组否
join()将数组连接成字符串否
reverse()反转数组是
sort()对数组排序是
flat()展平嵌套数组否

slice()方法:slice()方法用于得到子数组,slice(a, b)截取的子数组从下标为a的项开始,到下标为 b(但不包括下标为b的项)结束

  • 标准写法

    var arr = ['A','B','C','D','E','F'];
    var result = arr.slice(1, 4);
    console.log(result); // ['B','C','D'] 从下标 1 开始;(B)到下标 4 结束(不包含4)所以是:B、C、D
    console.log(arr); // ['A','B','C','D','E','F']
  • slice()如果不提供第二个参数,则表示从指定项开始,提 取所有后续所有项作为子数组

    var arr = ['A','B','C','D','E','F'];
    var result = arr.slice(2);
    console.log(result); // ['C','D','E','F']
  • slice(a, b)方法不会更改原有数组,返回的是截取的数组

    var arr = [1, 2, 3, 4];
    var result = arr.slice(1, 3);
    console.log(result); // [2, 3]
    console.log(arr); // [1, 2, 3, 4] ✔ 原数组不变
  • slice()方法的参数允许为负数,表示数组的倒数第几项

    var arr = ['A','B','C','D','E','F'];
    var result = arr.slice(-3);
    console.log(result); // ['D','E','F']

concat()方法

  • concat()方法可以合并连结多个数组

  • concat()方法不会改变原数组

    var arr1 = [1, 2, 3, 4];
    var arr2 = [5, 6, 7, 8];
    var arr3 = [9, 10, 11];
    var arr = arr1.concat(arr2 , arr3);
    console.log(arr);
    // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

join()方法

  • 数组的join()方法可以使数组转为字符串;字符串的split() 方法可以使字符串转为数组。

  • join()的参数表示以什么字符作为连接符,如果留空则默 认以逗号分隔,如同调用toString()方法

    var arr = ['A', 'B', 'C'];
    var str = arr.join('-');
    console.log(str); // "A-B-C"
  • split()的参数表示以什么字符拆分字符串,一般不能留空

    var str = "A-B-C";
    var arr = str.split('-');
    console.log(arr); // ["A", "B", "C"]

reverse()方法

  • reverse()方法用来将一个数组中的全部项顺序置反

    var arr = ["A","B","C","D"];
    arr.reverse();
    console.log(arr); // ["D","C","B","A"]

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

JavaScript常用API-更新中
https://f.youzi177.cn/posts/2026101804javascript-chang-yong-api/
作者
小封鸭
发布于
2026-10-18
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
小封鸭
小楼一夜听春雨,深巷明朝卖杏花
公告
欢迎来到我的博客。这里主要记录前端全栈和日常内容
分类
标签
最新动态
站点统计
文章
60
分类
3
标签
12
总字数
107,734
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录