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()方法,去掉字符串的首尾

相关推荐
nianniannnn1 小时前
Qt QMessageBox知识点
开发语言·数据库·qt
Hilaku2 小时前
2026 年前端大洗牌:React 服务端到 Vite 的底层重构
前端·javascript·程序员
故乡de云2 小时前
AWS 添加付款方式失败排查清单:卡片、银行风控与账号状态逐项定位
开发语言·php
名字还没想好☜2 小时前
React setState 连续调用「丢更新」排查:批量更新与函数式更新
前端·javascript·react.js·react·usestate
J_yyy2 小时前
【Qt核心组件类框架】
开发语言·qt
come112342 小时前
Vue 2 与 Vue 3 语法区别及使用技巧
前端·javascript·vue.js
运维行者_2 小时前
如何查看每个IP的带宽使用情况?NetFlow 技术实战指南
开发语言·网络·分布式·后端·架构·带宽
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
天天进步20153 小时前
Python全栈项目--基于深度学习的图像超分辨率系统
开发语言·python·深度学习