javascript之String方法介绍

1.charAt方法,返回指定索引的字符,如果没有就返回-1

javascript 复制代码
let str="heLlo world"
console.log(str.charAt(1)) //返回索引值为1的字符,返回结果是e

2 indexOf方法,返回指定字符第一次出现的索引,如果没有就返回-1

javascript 复制代码
let str="heLlo world"
console.log(str.indexOf("o"))

3 lastIndexOf方法,查找指定的字符串最后一次出现的位置

javascript 复制代码
let str="heLlo world"
console.log(str.lastIndexOf("o"))

4 tolowerCase方法,将字符串转为小写

javascript 复制代码
let str="heLlo world"
console.log(str.toLowerCase())

5 toUpperCase()方法,将字符串转为大写,使用方法与上面的tolowerCase相同

6 substr() 截取指定长度的字符,它有两个参数,第一个参数是从索引几开始截取,第二个参数是截取长度,如果参数是负数,表示从倒数第几个开始截取

javascript 复制代码
let str="heLlo world"
console.log(str.substr(2,3))

7 substring(),截取指定范围内的字符

8 slice(),截取范围内的字符

7 substring(),截取指定范围内的字符

8 slice(),截取范围内的字符

这两个方法很相似,都是截取索引几到索引几的字符串,留头不留尾,但有以下重要区别:

  • 参数处理方式不同
    • substring(start, end):如果 start > end,会自动交换两个参数。
    • slice(start, end):保持参数顺序,如果 start > end,返回空字符串。
  • 负数参数支持
    • substring():不支持负数参数,负数会被当作0处理。
    • slice():支持负数参数,表示从字符串末尾开始计算位置。
  • 返回值特性
    • 两个方法都返回新字符串,不修改原字符串。
    • 如果省略第二个参数,都会截取到字符串末尾。
javascript 复制代码
let str = "Hello World";

// substring 示例
console.log(str.substring(2, 5));    // "llo"
console.log(str.substring(5, 2));    // "llo" (自动交换参数)
console.log(str.substring(-3, 5));   // "Hello" (负数当作0)

// slice 示例
console.log(str.slice(2, 5));        // "llo"
console.log(str.slice(5, 2));        // "" (start > end 返回空)
console.log(str.slice(-5));          // "World" (从末尾开始)
console.log(str.slice(2, -3));       // "llo W"

总结slice() 更灵活,支持负数索引;substring() 对参数顺序更宽容,但不支持负数。在实际开发中,slice() 使用更广泛。

9 trim()方法,去掉字符串的首尾

相关推荐
郑州光合科技余经理8 分钟前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
知识分享小能手18 分钟前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
+VX:Fegn089538 分钟前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
天若有情6731 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具
阿里嘎多学长1 小时前
2026-09-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
林语琛2 小时前
我写的 switch…break 被 Babel 偷偷吞了
前端·javascript·babel
liuchangng2 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
weixin_307779133 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
2601_966949653 小时前
为什么量化回测中 for 循环比 DataFrame 慢三个数量级?从向量化原理讲起
开发语言·python·pandas·股票数据·quantdash
我命由我123454 小时前
CSS - CSS 媒体查询 orientation
前端·javascript·css·html·css3·html5·js