JavaScript中substr、substring和slice字符串截取函数的区别与用法
本文详细对比JavaScript中三种常用的字符串截取方法:substr、substring和slice。重点解析了参数含义的差异,特别是substr的第二个参数为截取长度,而另外两个为结束索引。同时说明了slice支持负数索引以及处理起始位置大于结束位置时的行为差异,帮助开发者准确选择合适的方法。
JavaScript字符串截取函数概述
在JavaScript开发中,处理字符串截取时最常使用的三个内置函数分别是substr、substring和slice。它们的调用语法结构如下所示。
相关代码示例如下:
stringObject.slice(start,end)
stringObject.substr(start,length)
stringObject.substring(start,end)参数含义与行为差异解析
这三个函数最显著的区别在于第二个参数的定义。对于substr而言,第二个参数代表的是截取的字符长度;而对于slice和substring,第二个参数则表示截取范围的结束位置索引。需要注意的是,slice和substring均不包含结束索引对应的字符,即实际截取到该索引前一个字符为止。
slice与substring在负数索引处理上存在差异。slice允许第二个参数为负数,例如-1代表字符串的最后一个字符;而substring不支持负数索引。此外,当start参数大于end参数时,substring会自动交换这两个参数的位置以提取子串,而slice则不会进行交换,直接返回空字符串。
代码示例与输出结果
具体使用示例如下:
代码实现如下:
var str="Helloworld"
console.log(str.substr(0, 2))
console.log(str.substring(2, 0))
console.log(str.substring(0, 2))
console.log(str.slice(0, -1))
console.log(str.slice(-1, 0))上述代码的执行输出结果如下:
He
He
He
Helloworl
(空字符串)
怎么用 Promise 封装 JavaScript sleep 函数实现异步延时
2026-11-05 17:49:14
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
